WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:sendmail について

0:[投稿] 靴下カタオ [MAIL] [URL] [2002/07/02 01:49 ][環境:WIN+IE UNIX系+Perl]

いつもありがとうございます。

ある掲示板のスクリプトを改造して、
リンク集を作っているところですが、
『確認メール』の送信がうまくいかないので、
また教えていただけないでしょうか。

http://www.KenAshizuka.com/jikken/searchengine.htm

にソースをアップしています(開発中なのできたなくてすみません)。

この中の、青色の文字で示した、『登録確認通知送信サブルーチン』
の中の $mailprog には、'/usr/lib/sendmail'が入っています。
また、$email には、登録した人のメールアドレスが入ります。
問題は、$email_o に送信元のアドレスを代入しないといけないのですが、
現在コメントにしている

#ア     $email_o = "urine@niji.net";

という行から #ア をはずすと、

Internal Server Error

となってしまいます(メール送信を実行する段階ではなく、
初期画面を表示する前に)。
$email_o の中身が0バイトでないとエラーになっているようです。
送信元のアドレスが空(から)のまま登録処理を実行すると、
メールの送信はできませんでした。

このメール送信の部分は
別の配布スクリプトから取り入れたものですが、
オリジナルは正常に働いています。

以上で何かおわかりになることがありましたら
お教えいただければ幸いです。
どうかよろしくお願いいたします。

http://cgi.niji.jp/home/ashizuka/searchengine/searchengine.cgi


1:[回答] ふじ [URL] [2002/07/02 03:16 ]

> $email_o = "urine@niji.net";
$email_o = 'urine@niji.net';
でしょうか。
""でくくると @ が配列として展開されるので、@niji という配列が
未定義の場合はエラーになります。

で、これはローカルに Perl がインストールされていれば、

In string, @niji now must be written as \@niji at *** line ***, near "urine@niji"

てな具合にエラーが出て簡単に気がつけることですので、
CGIをいきなりサーバで実行して Internal Server Error で
悩むよりは、ローカルにデバッグ環境を作ることをお薦めします。


2:[完了] 靴下カタオ [URL] [2002/07/03 00:11 ]

ふじさん、いつもありがとうございます。
教えていただいたとおりにやったところ、エラーがなくなりました。そして、メールの送信もできているらしいことがわかりました。
もう少しで完成です!!!
実はPC内にサーバーを立ち上げているんですが、sendmail の部分だけはデバッグしていなかったのです。
blatj での送信を試していれば確かに気づいていたかも知れないんですが … 。
どうもありがとうございました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World