自分の差出人情報でもアドレス帳でも、"姓 名" <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.htmlPHPでも同様の関数があるかもしれません。
ビジネス用のメールプリケーションでは、こういった関数で重複を排除しているとは思いますが、個人用のメーラーでは、普通は、ユーザーが指定した通り、でしょう。
メッセージヘッダーの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>
[/補足]
やることは、メッセージヘッダーの中の文字列の処理だけですし、機能を限定すれば、それほど大きなアドオンは要らないですから、アドオンがあるかもしれません。