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には送信者のメールアドレスが入るようになります。

 

 

スポンサー

お問い合わせ

この記事についてご質問があれば、お問い合わせ下さい。

お名前(必須)
お名前フリガナ(必須)
メールアドレス(必須)
メールアドレス確認(必須)
お問い合わせ記事URL
お問い合わせ内容(必須)