MozillaZine.jp フォーラム
https://forums.mozillazine.jp/

宛先の「様」のみ表示されない
https://forums.mozillazine.jp/viewtopic.php?f=3&t=15297
ページ 11

作成者:  ひさこ [ 2015年2月27日(金) 19:05 ]
記事の件名:  宛先の「様」のみ表示されない

お客様にいつもメールを送るとき
○○様<アドレス>と入力し、その○○様がお客様にも表示されると思いますが、
送信すると、肝心の「様」が表示されないという問題が起こっています。

どこをどう治せばいいのか不明です。

作成者:  kiki [ 2015年2月27日(金) 21:35 ]
記事の件名:  Re: 宛先の「様」のみ表示されない

 
*ご自分の利用環境として、正確な OS の種類と Thunderbird のバージョンぐらいは
 書き添えましょう。
*質問した後やアドバイスをもらった後は、放置せずに、結果や経緯を必ず書くように
 しましょう。
*ここは、相互ユーザサポートを通じて、各種情報・事例を、ユーザ同士でシェアする
 場でもあります。
 
 
 
【再現手順】
[環境:OS:Windows 7 Professional SP1 + Thunderbird 31.5.0 日本語版]

サンプル:きき様<kiki@xxxx.yyy>

というように、名前とメールアドレス間のスペースを削除して入力すると、「様」が削除
されるようです。
バグかどうかまでは調べていませんが、現在の仕様かと思われます。

[参照:ソース(ISO-2022-JP)]
To: =?ISO-2022-JP?B?GyRCJC0kLRsoQg==?= <kiki@xxxx.yyy>


【お勧め】
以下のようにメールアドレスとの間に、半角スペースが入るように入力してみてください。
通常の入力では、メールアドレスの前の半角スペースを削除しません。

サンプル:きき様 <kiki@xxxx.yyy>

[参照:ソース(ISO-2022-JP)]
To: =?ISO-2022-JP?B?GyRCJC0kLU1NGyhC?= <kiki@xxxx.yyy>

作成者:  WADA [ 2015年2月28日(土) 07:38 ]
記事の件名:  Re: 宛先の「様」のみ表示されない

ひさこ さんが書きました:
お客様にいつもメールを送るとき
○○様<アドレス>と入力し、その○○様がお客様にも表示されると思いますが、
送信すると、肝心の「様」が表示されないという問題が起こっています。

(A) アドレス帳に登録した名前を優先して表示する設定にしてあって(デフォールトはオン)、
(B) そのアドレスが、アドレス帳で、アドレス帳の表示名を優先する設定になっていて(これも、デフォールトはオン)、
(C) アドレス帳に登録してある表示名と、メールの中の「名前」が異なると、
そのような現象になります。
アドレス帳に登録してある表示名が間違っていなければ、「様」がない、という程度で済みますが、
アドレス帳に登録してある表示名が間違っているときは、彼女Bに送ったはずなのに、彼女Aに送ったと表示され、あせることになります(^^)

(A)&&(B)&&(C) == true の時の現象だから、どれか一つでもfalseになればいい。
アドレス帳の中の名前に様をつけてもいいし、アドレス帳のそのアドレスについて、表示名を優先する設定オフにしてもいいし、アドレス帳に登録した名前を優先して表示するのを止めてもいい。
普通は、小さな親切大きなお世話で使いたい人だけが使えばいいのに全員に使用を強制している(A)、をオフにしますけど。

作成者:  WADA [ 2015年2月28日(土) 07:53 ]
記事の件名:  Re: 宛先の「様」のみ表示されない

kiki さんが書きました:
サンプル:きき様<kiki@xxxx.yyy>
というように、名前とメールアドレス間のスペースを削除して入力すると、「様」が削除されるようです。

XYZ<a@b.c.d> でも、XY[SP]<a@b.c.d> になりますね。
From: AA BB CC DD EE <a@b.c.d> と、スペースがあるのにクォートで囲っていない場合でも、”AA BB CC DD EE” <a@b.c.d> だと解釈するようになったんですけど、そのあたりのアルリズムが影響している?
単に、"<"を検出した時に、その前はスペースだとして食べてしまう、というだけかな。

作成者:  WADA [ 2015年3月01日(日) 19:09 ]
記事の件名:  Re: 宛先の「様」のみ表示されない

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部分を破壊しなければいけません(^^)

ページ 11 All times are UTC + 9 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/