8

特定のイベントに基づいて電子メールを送信するアプリケーションを作成する場合、これらの電子メールのそれぞれが新しい「会話」を開始するというルールを適用したいと考えています。

Gmail などの電子メール システムは、電子メール メッセージを "会話" にグループ化するため、メッセージAはメッセージBへの返信と見なされます。Subject: ヘッダーや In-Reply-To: ヘッダーなど、返信するメッセージを判断するために使用する方法は多数あります。

ただし、自動化された電子メールは件名を再利用する傾向があるため (「サーバー foo.bar.com での監視の失敗」など)、多くの場合、メール サービスは、指定された電子メールが実際には同じ件名の前のメッセージへの返信であると想定します。たとえ二人が無関係であっても。これにより、混乱が生じ、クライアントが重要な通知を見逃す可能性があります。

件名が類似している可能性があるにもかかわらず、特定のメールが他のメールへの返信ではないことをメールヘッダーで通知することは可能ですか?

メールの件名自体はクライアントに表示されるため、次のような愚かなことは避けたいと思います。"Subject: Automated reminder for $task [".md5sum(date())."]"

4

3 に答える 3

2

すべての電子メール システムでこれを行う方法は実際にはありません。Gmail でそれを回避する方法がわかったとしても、Mail.app、Thunderbird、および Outlook のスレッド化された会話モードについてはどうでしょうか? 確かに、そのような機能をサポートする各メール クライアントは、特定の会話に対するメッセージのメンバーシップを異なる方法で決定します。

そうは言っても、ほとんどのクライアントは、送信者、返信先、件名の組み合わせを使用しているようです。Gmail Web クライアントは、内部スレッド識別子を使用して、Web クライアントから送信された電子メールをより正確に追跡します。別のメールアドレスから送信することを考えたことはありますか? たとえば、Gmail の場合some-email@gmail.comは と同じsome-email+1234@gmail.comです。それ以降+はすべて削除され、メール ルーティングのために無視されますが、スレッド メンバーシップを計算するときに無視されることはないと思います。ただし、このアドレス指定ルールが Gmail 固有のものなのか、それとも標準の一部なのかはわかりません。

于 2011-01-27T03:28:20.997 に答える
2

ほとんどの電子メール クライアントは、InReplyTo、References、Thread-Index (Outlook から) のヘッダーに基づいてスレッドを整理します。したがって、メール メッセージでそれらを指定しない場合、既存のスレッドの一部とは見なされないと思います (基本的な件名ベースのスレッドがオンになっていない限り)。

現在、GMail は件名も考慮に入れています。ですので、件名も変更したいと思います。いくつか実験する必要があります。

于 2011-02-01T03:27:34.697 に答える
1

Gmailでユーザーとして会話のスレッド化を無効にすることはできますが、送信したメールを他の人にスレッド化しないようにGmailに指示する方法はありません。

日付を末尾に追加してみませんか?そうすれば、もう少し簡単にアクセスできる情報が得られ、スレッドの一部として大量の古いメッセージをドラッグする必要がなくなります。

于 2011-01-27T03:27:15.960 に答える