ThunderbirdでRedirect/Bounceを実現する
直近のアクセス解析を眺めていたところ、ぐぐる様経由で「 メール メッセージをリダイレクト(または"バウンス(bounce」で検索されたような跡が残ってました。
「そんな記事書いた覚えないなぁ」と思って検索結果を見てみたところ、ブログ最初期にまずはアドオンから。 - とりかごとなり。
で「Mail Redirect 0.8.7」を挙げていたのが引っかかったようです。
あまりメールのリダイレクト(Redirect)/バウンス(Bounce)について予備知識なかったのですが、アドオンの使用方法と一緒に備忘録。
メールのリダイレクト/バウンスとは
AさんがBさんに送信したメールを、更にBさんからCさんに転送する場合を考えます。
通常のメール転送(Forward)では、
- A→Bのとき、To:B From:A
- B→Cのとき、To:C From:B
になります。
また、メールの送信日時やMessage-idといった基本的なヘッダも書き換えられます。
リダイレクトの場合は、A→Bの時も、B→Cの時も、両方
- To:B From:A
になり、送信日時等もオリジナルのものを保持します。
基本的には「メール本文のみではなく、ヘッダ情報も含めてオリジナルの状態で再送したい」といった目的で使うことになります。
Thunderbirdでリダイレクト/バウンスを実現する
Thunderbirdの標準状態にはリダイレクトの機能が備わっていない*1のですが、アドオンの
Mail Redirect :: Add-ons for Thunderbird
をインストールすると可能になります。Thunderbirdのアドオンマネージャから検索し、そのままインストールが可能です。
昔のバージョンはデフォルトで英語表記だったように思います*2が、今は普通に日本語ローカライズされています。
実際にリダイレクトの機能を使うに当たっては、該当するメールを選択した状態でコンテキストメニューより「リダイレクト」を選択するほか、メールツールバーやヘッダペインにも「リダイレクト」のアイコンを配置できます。*3
上記いずれかの方法で、メールを選んだ状態で「リダイレクト」を選択すると、以下の画面が開きます。
「再送信先」にメールを送りたい相手のメールアドレスを入力します。この状態だとTo:で送られますが、「再送信先(Cc)」や「再送信先(Bcc)」も選択可能です。
また、「連絡先」を選ぶと、サイドにアドレス帳を表示できます。
リダイレクトされたメールのヘッダ構造
リダイレクトされたメールは、受信側でヘッダを調べると、通常のFrom: やTo: といったヘッダの前に、「Resent-From:」や「Resent-To:」といったヘッダが追加されています。
例示(必要な部分のみ)。
Resent-From: bbb@example.co.jp Resent-To: ccc@example.co.jp Resent-Date: Mon, 21 Mar 2016 20:34:14 +0900 Resent-Message-ID: <yyyyyyyy@example.co.jp> Resent-User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.7.0 From: aaa@example.org To: bbb@example.co.jp Message-ID: <xxxxxxxx@example.org> Date: Tue, 2 Feb 2016 19:03:43 +0900 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1
一方で、もとからあったFrom: やTo: 、Date: などのヘッダ情報はオリジナルと同一です。
Resent- のついたヘッダについては、RFC2822(3.6.6 Resent fields)にて定義されています。
RFC2822原文
邦訳付き
これによると、「Resent-From: とFrom: 」「Resent-To:とTo:」「Resent-Date:とDate:」といったように、各要素はそれぞれの項目に対応しています。ただし、
Note: When replying to a resent message, replies behave just as they
would with any other message, using the original "From:",
"Reply-To:", "Message-ID:", and other fields. The resent fields are
only informational and MUST NOT be used in the normal processing of
replies.
「再送メールに返信する時は、他のメールと同様にオリジナルの、"From:", "Reply-To:", "Message-ID:"などのフィールドを使う」
「再送フィールドは通常の返信に使っちゃ駄目」
となっています。
*1:Bugzillaでの議論はあります→Bug 12916 – Allow bounce/redirect of mail messages
*2:別途日本語化されたバージョンが存在→MailRedirect Japanese Translations
*3:アイコンのカスタマイズはツールバーをカスタマイズ。 - とりかごとなり。を参照