メールヘッダ

自作プログラムが出したメールが「ヘッダがおかしいというワーニング」を出した件を調査中。・・・で、RFC2822を確認したが問題が見つからない。
仕方ないのでワーニングを起こしたメールをじっと見ると・・・自作の拡張ヘッダと他のヘッダに微妙な違いが。他のヘッダはヘッダ名とヘッダの内容を分けるコロン(:)の後にスペースが入っているが、自作のヘッダには入っていない。
ひょっとしてこれが原因か?と思ってRFCを確認するが、2.2 Header fieldsにはそんなことは全く書かれていない。
しかも、同じプログラムがはいたメールをThunderbirdでうけたものを見ると、スペースが入っている。(取り込んだ後でプロセスされている可能性もある・・・)
一番分かりにくいパターンとして、改行コードのコントロールがうまくいかなくて、CRLFがCRCRLFになっている可能性も捨てがたい。
PHP: mail - Manual
UnixのMTAの中には、自動的にLFをCRLFに変換してしまうものがあります」
「なかには」「あります」という素敵な曖昧さが大変ですが、外部プログラムの動作の話なので仕方がない。
To行とかがちゃんと理解されているから大丈夫だと思っていたのだが・・・
ここで問題になるのが、MTAだけじゃなくメール・クライアントもデータを整形していそうなところ。メールソフトがいじる前のデータを取得するためにはパケットキャプチャでもするしかないのか?それはちょっとめんどくさいのだが(笑)