mail関数やmb_send_mail関数でReturn-Pathを設定する方法

Return-Pathとは、メールヘッダーの種類のひとつで、正常にメール受信が行えなかった場合などの返送先を指定します。

[参考記事] PHPでHTMLメールを送る方法
[参考記事] mb_send_mailでCCやBCCを指定する 表示名を指定する
[参考記事] PCからデコメールを送るときの仕様
[参考記事] mailto本文での改行 ドコモのN、Pで送信に失敗します
[参考記事] mailtoの使い方
[参考記事] 携帯サイトでのmailtoの使い方
このヘッダーは、メールを一番最後に受け取ったSMTPサーバーがつけるが、任意のヘッダーであるため、Return-Pathの有無はサーバーに依存します。
またReturn-Pathに記録されるのは、通常エンベロープのMAIL FROMの内容です。
詳細はRFC2822(詳細はRFC2821)によって定義されています。

Return-Pathの指定が適当でなかった場合、受け取り側のメールサーバーによってはスパムとして判断されます。

mail関数もmb_send_mail関数も$header にReturn-Pathを追加しても書き換わらない。

Return-Pathを変更するには、MTA(sendmail) へ渡すコマンドライン引数を指定します。

例えばメールアドレスがtest@example.comのとき、mail関数もmb_send_mail関数も第5引数に次の$parameterを渡します。

$parameter="-f test@example.com";

-f はFromを指定するときに使います。

mail($to,$subject,$body,$header,$parameter);
mb_send_mail ($to , $subject , $body [, $headers [, $parameter ]] );

ちなみに、この手法はPHPのマニュアルにも書かれている。

関連記事

スポンサーリンク

文字列の置き換えを行う方法 (replaceAllで気をつけること)

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る