没有 In-Reply-To 的线程:Message-ID?
Threading without In-Reply-To: Message-ID?
所以我们的系统正在向我们发送有关特定事件的电子邮件通知。问题是,事情变得非常垃圾和混乱,我们真的希望我们的电子邮件客户端 (Gmail) 线程通知关于同一事件。
例如:
关于事件 1 的电子邮件 1 已发送。
关于事件 1 的电子邮件 2 已发送。
Gmail 在自己的线程中显示它们,而我们希望它们在同一线程中显示为 "replies"。
我以为我需要的只是追加 "Re: Subject Line" 但这行不通。然后我阅读了 References
和 In-Reply-To
headers,但这些需要存储消息 ID,如果可以的话,我们希望避免开销。
是否有任何变通方法可以让客户线程收到关于同一主题的电子邮件,而无需存储邮件 ID 并将它们添加到 In-Reply-To headers?
非常感谢!
注意:使用 PHPMailer
你真的无法解决这个问题。你必须有 something 来唯一标识一条消息,就电子邮件而言,something 就是消息 ID,这也正是 References
和 In-Reply-To
headers,所以你真的无法摆脱它。它 必须 使用消息 headers 来实现,因为所有电子邮件客户端都普遍支持它。
最终的线程算法,就像电子邮件本身一样,现在已经很老了,但是你可以找到它 here, and it's still as valid as it ever was. I used that approach to implement the email threading used in the chamsocial.com social network。
一些电子邮件客户端尝试在不使用邮件 ID 的情况下进行线程处理,这几乎总是失败 - 我有时会看到 Apple Mail 在 ID 丢失时这样做,将完全不相关的邮件拉入一个线程中只是因为它们恰好有同一主题。
如果您想在没有消息 ID 的情况下执行消息线程,您需要想出一些以完全相同的方式运行的东西 - 这是没有意义的,所以您最好咬紧牙关并实现消息 ID 支持正确。
所以我们的系统正在向我们发送有关特定事件的电子邮件通知。问题是,事情变得非常垃圾和混乱,我们真的希望我们的电子邮件客户端 (Gmail) 线程通知关于同一事件。
例如:
关于事件 1 的电子邮件 1 已发送。 关于事件 1 的电子邮件 2 已发送。
Gmail 在自己的线程中显示它们,而我们希望它们在同一线程中显示为 "replies"。
我以为我需要的只是追加 "Re: Subject Line" 但这行不通。然后我阅读了 References
和 In-Reply-To
headers,但这些需要存储消息 ID,如果可以的话,我们希望避免开销。
是否有任何变通方法可以让客户线程收到关于同一主题的电子邮件,而无需存储邮件 ID 并将它们添加到 In-Reply-To headers?
非常感谢!
注意:使用 PHPMailer
你真的无法解决这个问题。你必须有 something 来唯一标识一条消息,就电子邮件而言,something 就是消息 ID,这也正是 References
和 In-Reply-To
headers,所以你真的无法摆脱它。它 必须 使用消息 headers 来实现,因为所有电子邮件客户端都普遍支持它。
最终的线程算法,就像电子邮件本身一样,现在已经很老了,但是你可以找到它 here, and it's still as valid as it ever was. I used that approach to implement the email threading used in the chamsocial.com social network。
一些电子邮件客户端尝试在不使用邮件 ID 的情况下进行线程处理,这几乎总是失败 - 我有时会看到 Apple Mail 在 ID 丢失时这样做,将完全不相关的邮件拉入一个线程中只是因为它们恰好有同一主题。
如果您想在没有消息 ID 的情况下执行消息线程,您需要想出一些以完全相同的方式运行的东西 - 这是没有意义的,所以您最好咬紧牙关并实现消息 ID 支持正确。