sendmailで不達メールを自分宛に送信させるには?

[上に] [前に] [次に]
やま [E-Mail] 1998/10/12(月) 04:13:34
CGI(Perl)でsendmailを使用してメール送信をします。

open(ML, "| $nkf -j | $sendmail -t");
print ML "From: test\@mail.net\n";
print ML "To: $mail\n";
print ML "Subject: テストメッセージ\n\n";
print ML "テストメッセージの本文\n";
close(ML);

で、送信は成功していますが、ここで $mail のアドレスが存在しない
時に返送されてくるエラーメールを自分宛(指定アドレス)に送信させるようにしたいのですが、どうすればいいのでしょう? それとも、できないのでしょうか?

ご存じの方、よろしくお願いいたします。

匿名希望 1998/10/12(月) 11:26:20
To行の後ろにでも次の1行を追加してください。
print ML "Errors-To: あなたのアドレス\n";

やま 1998/10/12(月) 12:33:45
単に
print ML "Errors-To: あなたのアドレス\n";
を追加するだけでOKですか? それなら何度もやってみましたが、結果は駄目でした。

mo [E-Mail] 1998/10/13(火) 11:59:07
私も Errors-To を試しましたが、ここで指定したアドレスにはエラーが
きませんでした。何か設定しないと Errors-To フィールドは有効にならない
のでしょうか?

なお、エラーとなるメールはエンベロープで指定した From アドレスが使用される
のが基本です。sendmail の場合、-f オプションで指定します。
ただし、sendmail.cf で trust ユーザとして指定していないユーザが -f
オプションを指定すると、メールのヘッダに X-Authentication-Warning が付きます。

匿名希望 1998/10/13(火) 20:41:41
あ、すみません。Errors-Toだけでいいのかと思ってました。
手もとのsendmailのmanを見るとオプション指定でできるようです。
(Solaris使ってます)
sendmail.cfのパラメータを書き換えてもいいのですが、普通の人は書き換えできないでしょうし。
お手持ちのsendmailでどのようになっているか確かめてみて下さい。

やま [E-Mail] [HomePage] 1998/11/01(日) 02:51:41
[[解決]]
最初に質問したものです。遅れましたが、すでに解決しているので報告します。

open(ML, "| $nkf -j | $sendmail -ba -t");

と、"-ba"を挿入するとFrom宛に返送されるようになります。
みなさん、お試し下さい。

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