先日のqmailの件なんですが、IRCでちと話をしたあと、風呂に入りつつ少し考えてみたら、「あれ…、そういやクライアントとサーバはSMTPでやり取りしてるんだから、送信先はenvelopeの指示に従うはずで、ヘッダの情報なんて関係ないわけだよなぁ…」と思い、ちと職場で実験してみました(本当は昨日やろうと思ったんだけど、忙しくて出来なかったのさ)。
とりあえず、アドレス帳にて「表示名」を「ほげ‚ほげほげ」とし、アドレスは自分の会社のアドレス(例として、<hoge@hoge.com>とします)を入れて、Outlook Expressから送信してみました。すると…あれ?先日のNGパターンが再現しないぞ。envelopeのRCPT TO:についても特に異常なく、1つの送信先(hoge@hoge.com)しか設定してない模様。んで、受信したテストメールを見たら、エンコードされた表示名に「”ほげ‚ほげほげ”」と言う感じで、文字列の先頭と末尾に「”」が追加されてました。
ここでわしは「あれっ?」と、あることに気付きました。わしがNGとしたパターンのメール(問題なし)の場合、「”」は追加されていませんでしたが、旅人氏にお願いしたテストメールのパターンでは「”」が追加されていたのです。
「あ、もしかして、アドレス帳の登録の仕方によって動作が変わるのでは?」と思い、今度はアドレス帳に登録する際、「姓」に「ほげ」、「名」に「ほげほげ」と入力し、そのあとで、表示名に「‚」を追加して「ほげ‚ほげほげ」として同様に試しました。すると…、NGパターンが再現しました。んで、肝心のenvelopeですが、見事にRCPT TO:が2つ分(「ほげ」と「hoge@hoge.com」)発行されてました。また、エンコードされた表示名には「”」が追加されていませんでした。
このことより分かったのは、少なくともqmailのバグではない、と言うこと。っていうか、Outlook Express(アドレス帳?)のバグじゃん。やはり所詮M$か…、と思いました。そもそも、そんな怪しげな動作するならアドレス帳で「‚」を許容するなよ。
…いずれにせよ、わしの早とちりな訳で、…すみません。首吊って氏んできます。