kiki さんが書きました:
サンプル:きき様<kiki@xxxx.yyy>
というように、名前とメールアドレス間のスペースを削除して入力すると、「様」が削除
されるようです。
バグかどうかまでは調べていませんが、現在の仕様かと思われます。
バグ、になるでしょうね。
http://tools.ietf.org/html/rfc5322 より。
angle-addrの前のdisplay-nameと、angle-addrの左端の"<"の間に、スペースがある必要はありません。
コード:
atext = ALPHA / DIGIT / ; Printable US-ASCII
"!" / "#" / ; characters not including
"$" / "%" / ; specials. Used for atoms.
"&" / "'" /
"*" / "+" /
"-" / "/" /
"=" / "?" /
"^" / "_" /
"`" / "{" /
"|" / "}" /
"~"
atom = [CFWS] 1*atext [CFWS]
word = atom / quoted-string
obs-phrase = word *(word / "." / CFWS)
phrase = 1*word / obs-phrase
display-name = phrase
name-addr = [display-name] angle-addr
日本語がdisplay-nameに入る時は、RFC2047エンコーディングが入り、一つまたは複数の「atom」になります。
日本語の場合には、RFC2047エンコーディングとRFC5322の適用の順番が逆、という問題も(解釈時と作成時の両方で、バグです)、現象に絡んできます。
きき様<kiki@xxxx.yyy> の場合、
本来は、=?ISO-2022-JP?B?GyRC...?=<kiki@xxxx.yyy> と、RFC2047エンコードしてから、To::/From:
にするわけで、
"<"の前の文字を食べてしまうバグがちゃんと起こるのならば、
=?ISO-2022-JP?B?GyRC...? <kiki@xxxx.yyy>
と、”<”の前の"="を食べてから"<"の前にスペースを入れ、display-name部分を破壊しなければいけません(^^)