没有回复的线程:消息ID?

时间:2018-08-27 18:18:30

标签: php phpmailer email-headers

因此,我们的系统正在向我们发送有关特定事件的电子邮件通知。问题是,事情真的变得非常垃圾和混乱,我们真的希望收到有关同一事件的电子邮件客户端(Gmail)线程通知。

例如:

发送有关事件1的电子邮件1。 已发送有关事件1的电子邮件2。

Gmail将它们显示在自己的线程中,而我们希望它们在同一线程中显示为“答复”。

我认为我所需要的只是添加“ Re:Subject Line”,但这是行不通的。然后,我读到了ReferencesIn-Reply-To标头,但是这些标头需要存储消息ID,因此,如果可以的话,我们希望避免开销。

是否有任何变通办法,可以使客户对收到的有关同一主题的电子邮件进行处理,而不必存储消息ID并将其添加到In-Reply-To标头中?

非常感谢您!

注意:使用PHPMailer

1 个答案:

答案 0 :(得分:0)

您真的无法解决这个问题。您必须具有某物来唯一地标识一条消息,并且就电子邮件消息而言,这是消息ID,并且也正是References和{{1}所引用的东西}标头,因此您真的无法摆脱它。 必须使用邮件标头实现,因为所有电子邮件客户端都普遍支持该标头。

就像电子邮件本身一样,确定性线程算法现在已经很老了,但是您可以here找到它,并且它仍然像以往一样有效。我使用这种方法来实现chamsocial.com social network中使用的电子邮件线程。

一些电子邮件客户端尝试在不使用消息ID的情况下进行线程化,这几乎总是失败-我有时会看到Apple Mail在ID丢失时这样做,将完全不相关的消息拉进线程只是因为它们碰巧具有相同的主题

如果您想在没有消息ID的情况下进行消息线程化,则需要考虑一些行为以完全相同的方式进行-这是没有意义的,因此,最好不要硬着头皮,正确实现消息ID支持。