强制新的电子邮件主题

tyl*_*erl 7 email mime email-headers

在编写基于某些事件发送电子邮件的应用程序时,我想强制执行以下规则:每个电子邮件都会启动一个新的"对话".

诸如Gmail的电子邮件系统将组电子邮件消息分组为"对话",使得消息A被假定为对消息B的回复.他们使用许多方法来确定您要回复的邮件,例如Subject:标头或In-Reply-To:标头.

但是,由于自动电子邮件有时会重复使用主题行(例如" 监视服务器foo.bar.com上的失败 "),因此邮件服务通常会认为给定的电子邮件实际上是对具有相同主题行的先前邮件的回复,即使这两者是无关的.这可能会导致混淆,客户可能会错过重要通知.

是否有可能(如果是,那么如何)在您的邮件标题中发信号通知给定的电子邮件不是对任何其他邮件的回复,尽管主题行中有任何潜在的相似之处?

由于客户端可以看到电子邮件主题本身,我宁愿避免像这样的愚蠢: "Subject: Automated reminder for $task [".md5sum(date())."]"

Mar*_*c W 2

确实没有一种方法可以为所有电子邮件系统执行此操作。即使您确实弄清楚了如何绕过 Gmail,那么 Mail.app、Thunderbird 和 Outlook 的线程对话模式又如何呢?当然,支持此类功能的每个邮件客户端都会以不同的方式确定消息对给定对话的成员身份。

话虽如此,大多数客户端似乎都使用发件人、回复和主题的组合。Gmail Web 客户端使用内部线程标识符来更准确地跟踪从 Web 客户端发送的电子邮件。您是否考虑过从不同的电子邮件地址发送邮件?以 Gmail 为例,some-email@gmail.comsome-email+1234@gmail.com. 为了邮件路由的目的,后面的任何内容+都会被剥离和忽略,但我认为在计算线程成员资格时不会忽略它。不过,我不确定此寻址规则是否特定于 Gmail,或者是否是标准的一部分。