[PHP-users 7365] Re: PHP でメール送信を行った場合のリターンメールはどこへ?

HAYAKAWA Hiroshi php-users@php.gr.jp
Fri, 10 May 2002 11:47:16 +0900


早川@名古屋です。

on 02.5.10 10:38 AM, Koji Koshiba at kossy@mtg.biglobe.ne.jp wrote:

>> mail関数(sendmail)のヘッダの指定で、Return-Pathを記述しても無視される
>> ような気がします。私自身、linuxやsendmailに精通している訳ではないので断
>> 言はできないのですが、以前試したときそうでした。
> 私もLinuxで試してみましたがダメでした。Erros-toを記述してもダメです。

Errors-ToヘッダはRFC2076では
Non-standard, discouraged. となっているようです。

Return-Pathヘッダは、最終的な配送の段階を担当するMTAが
「エンベロープ送信者」情報をもとに生成することになっていると思います。

エラーメールを返す主は大きく分けて、
・ローカルのMTA
・よそのMTA
の2通りがあって、そのMTAの設定次第で
エラーメールを誰に返すか(返さないか)が変わります。

エラーメールを返すなら「エンベロープ送信者」に返すべき、
とどこかで読んだ記憶があるのですが、
よそのMTAの設定は制御できませんし、
Errors-ToヘッダやFromヘッダ、Senderヘッダ、
はてまたReply-Toヘッダのアドレスに返すMTAも一部にあるようです。

ちなみにeGroupsやFreeMLから送られてきたメールのヘッダを見ると、
Return-Pathが
sentto-1000000-10-1000000000-foo=bar.com@returns.groups.yahoo.com
post-00000000-foo=bar.com@bounce.freeml.com
という風にしてあります。
エラーメールとなって返送された場合に自動処理するためです。

ちなみに、SMTPプロトコル的には
MAIL FROM:コマンドで書かれたアドレスが「エンベロープ送信者」、
RCPT TO:コマンドで書かれたアドレスが「エンベロープ受信者」となり、
いわゆるメールヘッダは何の意味ももたない。
メールヘッダはMUA(Outlook等、メールを送信するプログラム)や
MTA(Postfix等)が勝手につけるものとなっています。

なので、「エンベロープ送信者」をコントロールするのが吉で、
念のためErrors-ToヘッダとSenderヘッダにも同じアドレスを書いておく、
という感じがいいかもしれません。
FreeMLはSenderヘッダを、eGroupsはX-eGroups-Returnをつけてますね。


-----
>>>  With your dreaming,           ☆彡  Hayakawa,Hiroshi          <<<
>>>          with your smile.    ☆彡    hayakawa@sam.hi-ho.ne.jp  <<<
>>>                            ☆彡      Nagoya,Aichi,JAPAN        <<<