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

同じ宛先メールアドレスを複数書くと、複数のメールが送信される
https://forums.mozillazine.jp/viewtopic.php?f=3&t=15284
ページ 11

作成者:  hisashi.sakurai [ 2015年2月25日(水) 14:39 ]
記事の件名:  同じ宛先メールアドレスを複数書くと、複数のメールが送信される

宛先やCCなどに、同一のメールアドレスを記入すると、記入した数のメールが発信される。
・重複するメールアドレスは自動削除されないのでしょうか?
・重複する宛先にメール送信することをカットする機能はあるのでしょうか?

例)表題:「メールテスト」
宛先:a@xx.co.jp , b@yy.co.jp
Cc:a@xx.co.jp

上記メールを発信すると 
b@yy.co.jp に「メールテスト」1通
a@xx.co.jp に「メールテスト」2通 メールが送信される

a@xx.co.jp「メールテスト」を
自動的に1通のみにする方法があったら教えてください。
よろしくお願いします。

環境
Thunderbird 31.4.0
OS: Windows 7 Professional (Service Pack 1)

作成者:  WADA [ 2015年2月25日(水) 16:23 ]
記事の件名:  Re: 同じ宛先メールアドレスを複数書くと、複数のメールが送信される

自分の差出人情報でもアドレス帳でも、"姓 名" <a@b.c.d>の"姓 名"部分を変えたものを登録できますし、Mt.Fuji@a.b.c.d, mt.fuji@a.b.c.d, のように大文字と小文字を変えて気分で使い分けられますし、
メールアドレスが同一だから、と、メーラーが、ユーザーがTo:やCC:で指定したものを、勝手に除去するわけにはいきません。
増してや、To:/CC:/BCC:のように、違う意味のヘッダーに指定していれば、尚更。
あとは、SMTPサーバーが、重複送信を除去するかもしれないですし、受け側のサーバーが除去するかもしれないし、
同じメールをいくつも送ってくるのはスパムだとして、Junk送りにするとかスパマーとしてブラックリストに入れるかもしれないし、
Gmailの場合は、全く同一内容のメールだから、重複メールとして無視するか、Received:ヘッダーのタイムスタンプが異なるので異なるメールとするかは、Gmail次第。

以前は、To: a@a.a.a., a@a.a.a., a@a.a.a. のように全く同じだと、明らかな重複だから除去していたような気がしますが、定かではありません。
複数のリストにあった時の重複だけ、だったかもしれません。
「message header duplicate "to:" "cc:" "bcc:"」でググルと、PostFixのCLEANUPがヒットします。
http://www.postfix.org/cleanup.8.html
PHPでも同様の関数があるかもしれません。
ビジネス用のメールプリケーションでは、こういった関数で重複を排除しているとは思いますが、個人用のメーラーでは、普通は、ユーザーが指定した通り、でしょう。

メッセージヘッダーのTo:/CC:/BCC:なんて、"," で分けた、"姓 名" <a@b.c.d>の羅列だから、ドラフトに保存して、エクセルに貼り付けて重複をなくし、テキストエディターでドラフトフォルダーの中のヘッダーに貼り付けて、Repair Folder、とか、色々手はあります。
エクセルで重複無しで表を作り、"," で分けた、"姓 名" <a@b.c.d>の羅列の形式にして、Thunderbirdの一つのTo:欄/CC:欄/BCC:欄にペースト、と、最初から重複させないという手段もあります。

自前のボタンとか、という手もあります。
Thunderbirdの場合、コンポーザーウィンドウのwindow.gMsgCompose.compFieldsというオブジェクトの、to/cc/bccというプロパティにメッセージヘッダーと同じ形で持っているだけだから、
Custom Butoonsというアドオンを入れて自前のツールバーボタンを作り、
そのボタンのスクリプトで、window.gMsgCompose.compFields.to/cc/bccをチェックするだけ。
メール作成画面に反映するには、書き換えて、UIのTo:/CC:/BCC:欄を更新しないといけないですが。
[補足]
gMsgCompose.compFieldsの中では、まだエンコードしていなくて、多分UTF-8で持っているだろうから、名前部分のチェックも楽そうです。
名前に "," を入れれば、" で囲って保持します。
window.gMsgCompose.compFields.to = "日本語 , 名前" <z@z.z.z>,"日本語 ,名前" <z@z.z.z.>,"日本語 ,名前" <z@z.z.z>
[/補足]

やることは、メッセージヘッダーの中の文字列の処理だけですし、機能を限定すれば、それほど大きなアドオンは要らないですから、アドオンがあるかもしれません。

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