2012-02-27 5 views
1

私はメールを送信し、受信メールを読むメールクライアントを作成しようとしています。これに私のGoogleの努力は結果をもたらさなかった。誰かが同じメールに返信したときに送信できるタグを電子メールに添付することは可能ですか?

同じメールに対して返信が行われたときにコードが認識できるように、メールの送信中にメールエンベロープ(件名以外)にタグ(識別用)を添付する方法はありますか?

FYI私はクライアントを書くためにJavaメールコンポーネントを使用しています。あなたが返事に依存することができる

事前に感謝を...

+0

あなたはカスタムヘッダーフィールドを追加することができます http://stackoverflow.com/questions/2115342/create-custom-mail-header-field –

+0

は私の時間を節約していただきありがとうございます。 – Symphony

答えて

1

のみヘッダ項目がアドレスですので、あなたは完璧な信頼性の返信を追跡したい場合は、あなたが送るメッセージごとに異なるアドレスが必要になります。

通常、返信には元の件名が含まれているため、タグを置く最も簡単な場所です。

通常、任意のメッセージヘッダーはで、返信には含まれません。です。

+1

私はこれらの答えの両方をupvotedしました。技術的にはMessage-IDヘッダーとReferencesヘッダーを使用することができますが、私どもはすべてのお客様に対して、メソッドを使用したい場合には、toアドレスを使用することを真に頼りにすることをお勧めします。 –

+0

@SteveSmith:すべてのメッセージのユニークなアドレスから送信しますか? (つまり、「From:[email protected]」)これは実際には最も賢明なアプローチであるようです。 –

+0

@エドワードトムソン。このようにして、送信元アドレスが「あなたの名前<[email protected]>」のようなものであってもフレンドリーな名前であれば、ユーザはただ返答します。 –

2

Bill Shannonが指摘するように、任意のメッセージヘッダーは返信に含まれません。現実的には、件名となる可能性があります。元のメッセージの件名のプレフィックス付きのバージョン(たとえば、「Re:」など)になることがよくあります。ユーザーはもちろん、件名を編集することができ、壊れたメーラーはあらゆる種類の狂ったことをする可能性があります。

返信でReferencesヘッダーを使用すると、メッセージの返信を元のメッセージと関連付けることができるはずです。このヘッダーにはにはRFC 2822が含まれ、最後の要素として返信先のメッセージのIDです。理論的には、メッセージIDリストからスレッド全体を構築できるように、Referencesが構築する必要があるので、複数の返信を元のメッセージに戻すこともできます。

あなたが元のメッセージを送信するとき、あなたはフィールドを持つべき、と言うことです:

Message-ID: <unique-message-id> 

と応答で、あなたが表示されるはずです。

References: <unique-message-id> 

もし、何らかの理由異なるの固有のIDを使用してメッセージIDとは別のものを使用する場合は、の参照リストに入れてください:

Message-ID: <unique-message-id> 
References: <other-id> 

と応答では、あなたが表示されるはずです。私は"はず"繰り返し言っ

References: <other-id> <unique-message-id> 

注意。この動作はRFC2822でのみコード化されていましたが、Referencesヘッダーの動作は元のRFC822では不十分です。 (おそらく)ほとんどのメールクライアントはRFC2822に従っていますが、threading algorithm in Netscape's mail readerに関するjwzによって説明された(うまくいけば時代遅れの)警告のリストを見ることができます。

+0

参考文献を追加していただきありがとうございます、私はそれを言及するのを忘れました。そして私は再び "すべき"ことを強調しましょう! –

0

あなたがIn-Reply-ToとReferencesを使用できることは事実ですが、Referencesは常に使用されているわけではありません。例えばZimbraのVMwareメールシステムを使用するクライアントがあり、 In-Reply-Toで中継しようとすると、各受信者に同じIn-Reply-Toが割り当てられ、元の電子メールアドレスを使用して、誰が電子メールに回答しているかを知ることができます電子メールのエイリアスを使用するので、[email protected]という電子メールを送信した場合、彼は元の電子メールアドレスである[email protected]からあなたを戻すことができます。

最後に、In-Reply-ToまたはReferencesでリレーすることはできませんが、リストでスレッドを識別し、送信者の電子メールまたは電子メールで検証しようとすると、また、電子メールのHTML部分(この時点ではほとんどの電子メールクライアントにある)にこのメッセージの元の受信者の隠しタグ検索が返されました。

イベントこの複雑なテストでは、すべてが得られることはありませんが、おそらく95%のようなものです。

nice-approachのアカウントの別名としてreply-toを使用することについては、ほとんどの場合有効です。唯一の欠点は、「あなたの名前」アプローチを使用することですそれはそれほど簡単ではない場合もあります。

+0

各受信者ごとに異なるMessage-Idを送信することについては、実際にはそれらの電子メールが同じスレッドを共有しないことがあるという問題があります。 –

関連する問題