2011-01-27 9 views
6

特定のイベントに基づいて電子メールを送信するアプリケーションを作成する際に、これらの電子メールのそれぞれが新しい「会話」を開始するというルールを適用したいと考えています。グループの電子メールメッセージのようなGmailなど新しいメールスレッドを強制する

メールシステム「会話」に、そのようなメッセージは、はメッセージBに対する応答であると推定されます。 Subject:ヘッダーやIn-Reply-To:ヘッダーなど、どのメッセージに返信しているのかを判断するために使用するさまざまな方法があります。

しかし、自動化された電子メールでは件名を再利用することがあるため(例:「サーバーfoo.bar.comでの監視に失敗しました」)、メールサービスは実際には特定のメールが前のメッセージたとえ2つが無関係であっても、同じ件名で表示されます。これは混乱の原因となり、クライアントは重要な通知を失う可能性があります。

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

メールの件名自体がクライアントに表示されているので、私はこのような愚かさを避けることを好むだろうが:"Subject: Automated reminder for $task [".md5sum(date())."]"

答えて

2

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

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

1

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

最後に日付を追加するだけではどうですか。そうすれば、より簡単にアクセスできる情報が得られます。また、古いメッセージをスレッドの一部としてドラッグしてはいけません。

2

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

GMailでは件名も考慮しています。だから私はあなたも件名を変更したいと思う。あなたはいくつかを試してみる必要があります。

関連する問題