PHPコーディング

エラーメールの受け取りアドレスを指定する

2009年01月09日
宛先のメールアドレスがない、などの理由で返信されるエラーメール。このエラーメールを受け取るアドレスを指定できれば便利です。

まず思い浮かぶのが【Return-Path】です。が、実はこの【Return-Path】、メールを送るときこちらが指定しても、経由するサーバーによって勝手に書き換えられてしまいます。

書き換えられるアドレスは、【envelope FROM】というものだそうです。

PHPからメールを送信するとき、この【envelope FROM】を指定できればエラーメールを受け取るアドレスを指定できるのだそうです。

【mail】関数や【mb_send_mail】関数の第5引数を使います。

mb_send_mail("送信先アドレス", "件名", "ボディ", "Fromなどのヘッダ", "-fエラーを受け取るアドレス");
となります。
【エラーを受け取るアドレス】が【err@domain.xxx】だとすると、第5引数には【-ferr@domain.xxx】を渡してやればいいのです。

【-f】オプションは【sendmail】のオプションです。