cgi で作ったメール送信プログラムで、メールを一括送信するする際、

送信されなかった宛先のメールアドレス情報を取得する為にReturn-Pathの設定をする必要に迫られたんですが、

手間取ったのでメモです。

$from00 = 'hoge@from.jp';
$to = 'hoge@to.jp';
open(MAIL,"|$sendmail -t");
print MAIL "From: $from00\n";
print MAIL "Reply-To: $from00\n";
print MAIL "Return-Path: $from00\n";
print MAIL "To: $to\n";
print MAIL "Subject: test\n";
print MAIL "Content-Type: text/plain; charset=iso-2022-jp\n";
print MAIL "Content-Transfer-Encoding: 7bit\n";
print MAIL "test\n";
close(MAIL);

上記のようなコードでは、青字が入っていても、Return-Pathは設定されないようです。

赤字の部分を、

open(MAIL,"|$sendmail -f$from00 -t");

と変更して下さい。こうすれば、Return-Pathには送信者のメールアドレスが入るようになります。