SMTPでハマったのでメモ。
SMTPが配送するメールオブジェクトには、エンベロープとコンテンツがある。メーラーとかで見えてるメールヘッダーは、コンテンツの中のヘッダー部。本文はコンテンツの中のボディ部にある。
SMTPで通信する際に、最初にMAIL FROM:コマンド(?)でいわゆる「envelope from」を指定するんだけど、大体のSMTPエージェントはこのMAIL FROMの情報を参考に、contentのheaderにReturn-Path:というヘッダーを勝手に作り出す。
アドレスを間違えた時なんかに、よくMAILER-DAEMONからエラーが返ってきたりするんだけど、それはMAIL FROMで指定したアドレス宛(つまりReturn-Path)に返すわけだ。
>Mail Objects
=Envelope
-MAIL FROM: xxxxx
-RCPT TO: xxxxx
=Content
-header
-data
つづく。(かも)
関連:
RFC日本語訳