CGIでメール送信について

[上に] [前に] [次に]
りな 2000/01/08(土) 08:00:08
一般的に、CGIで送ったメールの相手のが存在しないとき、エラーメールを送信者本人(CGI設置者)へ帰ってくるようにするためにはsendmailへの引数にヘッダーとしてFromの項目を加えたらいいそうですが、これではダメなのでしょうか。
送信しましたが、差出人欄は「aaa@bbb.cc」になりますが、エラーメールは私(送信者本人)には戻ってきませんでした。
sub sendmail{

if ($FORM{'type'} eq 'check' || $FORM{'to'} ne 'to'){
open(SEND,"|$sendmail -n -t");
print SEND "From: aaa@bbb.cc\n";

説明が下手で分かりにくいと思いますが、どなたか助けてください!

とも 2000/01/08(土) 10:44:21
便乗でスミマセン。
私も、-tオプションだけでは、Fromにエラーメールは戻ってきませんでした。
-fオプションをつけるといちおう戻ってきます。(-f $from)
X-Authentication-Warningは付いてしまいますが……。

単に-fオプションをつけただけではダメだったというのは、
どこかで見た記憶はあるのですが、
きちんとした方法がお分かりの方がいらしたら、
私も知りたいです。
できるだけ分かりやすく書いてある本や、Webサイトをご存じでしたら、
併せてお願いします。

ラウォッチ 2000/01/08(土) 20:34:28
print SEND "From: aaa@bbb.cc\n";

print SEND "Errors-To: aaa@bbb.cc\n";
では。

以下が参考になると思います。
http://www.tohoho-web.com/lng/199802/98020900.htm

りな 2000/01/09(日) 02:14:40
お教えいただき、ありがとうございます。

ともさんの-fオプションは

open(SEND,"|$sendmail -n -t -f $from");

…でいいのでしょうか?(ものすごい不安)
すみません、perlはよくわからないもので…。


ラウォッチさん、参考になります。

print SEND "From: aaa@bbb.cc\n";
print SEND "Errors-To: aaa@bbb.cc\n";

このように2つ並べて書いてみます。

上の2通りをそれぞれこれからやってみます。

さと 2000/01/09(日) 22:28:59
>open(SEND,"|$sendmail -n -t -f $from");
>…でいいのでしょうか?(ものすごい不安)

そうです。私はそれで戻ってきました。
Errors-Toでも、指定したアドレスに戻ってこない場合があるようですね。
ちょっと調べてみたところ、
-fオプションを使うと、X-Authentication-Warning
というメッセージがメールヘッダに出てきますが、
とくに問題はないような印象を受けました。
実際、わたしの場合、いまのところ問題は起きてません。

ただ、このメッセージを出なくする方法は
まだ分かっていませんが……。

りな 2000/01/10(月) 05:09:53
-fオプションをつけて見たところ、届くはずの(正しいアドレスへの)メールもエラーメールも届かなくなりました。
Errors-Toも、同じようにメールは届かなくなってしまいました。
サーバーが混んでいるのかなと思い、試しにその後-fをなくして、送信したところ正しいアドレスへのメールは届きました。
うちのサーバーが悪いのでしょうか、(-fオプションの場合)それとも
>open(SEND,"|$sendmail -n -t -f $from");
の他に書きかえる必要があるのでしょうか。
全くわかりません.....(泣)

[上に] [前に] [次に]