2011-09-29 12 views
13

これはおそらく奇妙な質問ですが、先に進んで質問したいと思っていました。さて、特別なクライアントを使って IMAP SMTPを使ってメールを送ってきます。このクライアントは、途中でメールを送信する前に、いくつかのカスタムヘッダーを電子メールメッセージに追加します。受取人はこのメールを受け取り、私に直接返信します(そしてCCにはいくつかの人がいます)。電子メールスレッド内のカスタムヘッダーの永続性

私の質問は次のとおりです。上記の例では、これらのX-Headerはスレッド内のすべての新しいメッセージに存続しますか?

私が考えることの1つは、クライアントが送信した元の電子メールメッセージを認識することです。このメールへのその後のすべての返信には、返信先のヘッダーがあり、その値は前のメールの「メッセージID」と同じです。クライアントが送信した元のメッセージに到達して元のカスタムヘッダーが導出されるまで、これらの応答スレッドをクロールできない理由はわかりません。

多分私はこれを考えています。助言がありますか? :)

+0

今日、ほとんどの電子メールクライアントは、In-reply-toおよびReferencesヘッダーフィールドを使用して会話(スレッド)を作成しています。これにより、あなたが提案したものだけを実行し、元のメッセージに到着するまでリストをトラバースすることができます。 –

答えて

20

メッセージの返信には必ずしも元のメッセージの内容が含まれているとは限りません。 MUAは元の件名の修正版(例えば「Re:」が付いている)を提案する可能性が高く、明らかにアドレスも適切なデフォルトに利用されています。返信の一部を構成するメッセージの他のコンテンツはありません(送信者が引用や転送など意図的にそれを含む場合を除く)。あなたのメッセージにあなたが持っているXヘッダーは、あなたがそのMUAを支配している場合を除いて、確かに返信に含まれません。

しかし、元のメッセージを追跡する計画は確かに可能です。第3.6.4項のRFC 5322を参照してください。すべてのメッセージはMessage-IDヘッダーを持つ必要があります(必須ではありません)。必要に応じてIn-Reply-ToヘッダーとReferencesヘッダーが必要です。

「Message-ID:」フィールドには、一意のメッセージ識別子が1つ含まれています。 「References:」フィールドと「In-Reply-To:」フィールドにはそれぞれ、1つ以上の一意のメッセージ識別子が含まれ、オプションで[空白]で区切られます。

In-Reply-Toは、返信されるメッセージ(複数可)を識別するための言及であり、Referencesはスレッドのスレッド全体を識別します。参照ヘッダーは、返信されるメッセージの参照ヘッダーの内容全体を含むため、スレッド全体を識別する最後のメッセージのみが必要です。

同じものではない返信にイン返信し、(後者は、送信者が希望に送信する返信アドレスを指定する)ことに留意されたいです。

元のメッセージがあると仮定すると、元のメッセージを特定するために、返信のReferencesヘッダーを使用できるはずです。すべてのMUAがReferencesまたはIn-Reply-Toを正しく処理するわけではありませんが、ほとんどの場合そうです。

4

私が知る限り、電子メールクライアントはそれが理解できないヘッダー行を伝播すると思う理由はありません。大部分は主題を保存し(通常は必要に応じて "Re:"を追加します)、前のメッセージのヘッダーから "To:"と "Cc:"の行を派生させます。私はいくつか(しかしすべてではない)が "In-Reply-To"という行を生成すると考えていますが、それはそれが行く限りです。

特定のヘッダーを探しているスレッドをクライアントが元に戻すようにするという考えは、それが可能なように聞こえるかもしれませんが、その機能を使用するには独自の電子メールクライアントを作成する必要がありますすべての電子メールクライアントがメッセージスレッドを何らかの形で保存しているわけではないという事実によってブロックされます。