CGI-BBS > SO−HO > ショッピングバスケット > ショッピングバスケットの注文メールを送受信できない。


カレッヂ
カレッヂ


質問者 しっぽ!!  投稿日 2006/1/12(木) 16:35:17
はじめまして、こんにちは。
ショッピングバスケットプロ3.45を使用させて頂いておりますが、
12月下旬から、注文メールの送受信が、一切できなくなってしまいました。
プロバイダーに連絡しましたところ、
サーバのsendmailをバージョンアップしたとの事で、以下のような回答が返ってきました。

サイト管理者権限によって、sendmailを、CGIで利用する時は、
-f オプションで、fromアドレスを指定する必要があります。

私はCGIの初心者なので、-f オプション〜うんぬんと言われても、
具体的にプログラムの何処をどういじれば良いのか皆目検討がつかず、
大変困っております。
プロバイダーに再度問い合わせても、プログラムの製作者ではないため、
具体的な内容については、答えられないとの事でした


お手数ですが、どなたかご教授頂けるよう、宜しくお願い致します。

Perlのパス /usr/bin/perl
Sendmailのパス /usr/sbin/sendmail

サーバのOS:UNIXサーバ
パソコンのOS:WinXP
エディタ:ワードパッド
FTPソフト:FFFTP
サーバ移転:していない
改造:していない 

【プロバイダ】http://www.pimoshu-club.co.jp/index.html
【習熟度】初めて

回答者 yue  [削除]  投稿日 2006/1/12(木) 18:07:33
こんにちは。
質問を読ませていただき、記載されたプロバイダのアドレスを見たのですが、
これはしっぽ!! さん自身のHPでしょうか??
このHPを設置する場所、スペースを借りている会社
(レンタルサーバー会社:例えば無料だとジオシティーズなど)
のアドレスを書いていただくとわかると思います。

また、問い合わせのメールの返事の内容も前後にまだ内容があるなら
書いていただいたほうが調べやすいかもしれません^^
私は上のメール内容だけ読んでも何のことかわからないので
今はお役に立てません・・・。
質問者 しっぽ!!  [削除]  投稿日 2006/1/12(木) 21:29:23
こんばんは。
お返事ありがとうございます。
勘違いをしておりました。
プロバイダのアドレスは下記の通りになります。

http://www.accuraq.com

プロバイダとのやりとりにつきましては、
メール以外に、電話でも問い合わせておりますので、
だいたい下記のようになります。

<プロバイダ>
■■サーバーバージョンアップ(サーバー変更)実施日のご案内■■
につきまして本日5:00に作業が完了いたしましたことをご報告いたします。
ご協力ありがとうございました。
お客様につきましては、メールの送受信、ホームページの表示、CGI等プラグラムの動作確認等のサーバーの稼動状況につきまして
ご確認いただきたくお願い申し上げます。

<当方>
買い物カゴの注文が出来なくなりました。
str.internalServerError
上記のようなエラーが出て、受注できなくなりました。
なぜでしょうか。
早急に解決したいと思っておりますので宜しくお願いします。

<プロバイダの答え>
CGIプログラムの設定を変更していただき、
動作のご確認をお願い致します。
Perlのパス /usr/bin/perl
Sendmailのパス /usr/sbin/sendmail
以上、宜しくお願い致します。

<当方>
CGIプログラムの件ですが、
確認しましたが以前設定してあったパスと同じでした。
念のため元のプログラムをダウンロードし直して、
パーミッションと、Perlのパス、Sendmailのパスを全て設定し直しましたが、
正常に動作しません。
カウンターなど、他のCGIは普通に動いております。
ショッピングバスケットは最終確認画面までは動作しますが、
[str.internalServerErrorNote] というダイアログが表示され、
注文ができない状態です。
12月下旬から受注がストップしており、大変困っております。

<プロバイダの答え>
CGIプログラムの修正をおこなって頂きますよう宜しくお願い致します。
 サイト管理者権限によって、sendmailを、CGIで利用する時は、
-f オプションで、fromアドレスを指定する必要があります。
大変お手数ですが、ご対応の程、宜しくお願い致します。

<当方>
具体的に、どのプログラムのどの箇所を、どのように変更すれば宜しいのでしょうか?

<プロバイダの答え>
製作者ではないので答えられませんが、動作確認が出来ているCGIがありますので、
参考として送らせて頂きます。

以上です。

プロバイダーから送られてきたメール送信フォームのプログラムをアップロードしたところ、
正常に動作しました。
しかし、当方は素人のため、これを参考にショッピングバスケットの修正を行うのは無理そうです。
以下は、そのプログラムです。参考になれば嬉しいです。

http://www.pimoshu-club.co.jp/formmail.html

ここにペーストしようと思いましたが、長すぎてダメでした。

何分初心者なので、至らないところがあると思いますが、ご勘弁くださいませ。
それでは、宜しくお願いいたします。
回答者 yue  [削除]  投稿日 2006/1/14(土) 00:02:14
メールしてみましたが届いているか不安なので
一応コチラにも書いておきますね^^

メールが届いていなかったらカキコお願いします。
回答者 もも  [削除]  投稿日 2006/1/14(土) 01:36:43
この回答を参考にしてみてください。

http://www.rescue.ne.jp/CGI-BBS/soho/cargo/20030311231630.shtml
質問者 しっぽ!!  [削除]  投稿日 2006/1/17(火) 20:14:28
yue様、もも様、ご返答大変有難うございます。

yue様に教えて頂いた通り、order.cgiの
if (!open(OUT,"| $sendmail -t")) { &error('Error'); } を
if (!open OUT,"| $sendmail -f \"$in{'_EMAIL'}\" $mailto"){
&error('Error'); }
としたところ、注文メールの受信に成功しました!!

本当に感謝しております。

これで一安心ですが、
setup.plの設定を
#◆記入されたEメールに確認メールを 1:送る 0:送らない
$resp = 1;
にしていても、お客様に確認メールが届きません。

注文完了後、「受け付けました」の画面は表示されますが、
注文内容と
※ 折り返しご連絡申し上げますので、お待ちください。
※ なお、7日を経過しても当社から連絡がない場合は、お手数ですがお申し出ください。 

ありがとうございました

の間に、

/home/.sites/10/site59/.users/76/pim27gf5/dead.letter... Saved message in
/home/.sites/10/site59/.users/76/pim27gf5/dead.letter

という文字が表示されてしまいます。
以前は、出ていなかったような気がするのですが。

ためしに
$resp = 0;
としてみると、上記の文字は表示されません。

こちらの方も解決できればと思いますので、
ひき続き宜しくお願い致します。
質問者 しっぽ!!  [削除]  投稿日 2006/1/30(月) 01:42:18
yue様本当にありがとうございました。
本日、注文票(写し)の送信に成功致しました。
変更箇所はorder.cgiの766行目あたりです。

if ($resp) {
の下の方にある、

open(OUT,"| $sendmail -t"); を
open(OUT,"| $sendmail -f \"$mailto\" $in{'_EMAIL'}");

としたところ、無事解決しました。

一時は途絶えていた注文も、先週から徐々に復活してきました。
自力ではとても解決できないところでしたので、大変感謝しております。

この度は大変有難うございました。

返信(回答)する

 


Web裏技