email - 电子邮件线程中自定义标题的持久性

标签 email header rfc5322

我这可能是一个奇怪的问题,但我想我会继续问。比如说,我通过一个特殊的客户端使用 IMAP SMTP 发送一封电子邮件。此客户端在发送电子邮件之前向电子邮件添加了一些自定义 header 。收件人收到这封电子邮件并直接回复我(可能还有 CC 的几个人)。

我的问题是:鉴于上述示例,这些 X-headers 是否会在线程中的所有新消息中持续存在?

我能想到的一件事是客户会知道它发送的原始电子邮件。对此电子邮件的所有后续响应都将具有一个“Reply-To” header ,其值等于上一封电子邮件的“Message-Id”。我不明白为什么我无法抓取这些回复线程,直到我得到客户端发送的原始消息,从而派生出原始的自定义 header 。

也许我在想这个。有什么建议么? :)

最佳答案

消息回复不一定包含原始消息的任何内容。 MUA 可能会建议原始主题的修改(例如,以“Re:”开头)版本,并且显然地址也用于适当的默认值。消息的其他内容都不构成回复的一部分(除非发件人故意包含它,如引用或转发)。您在消息中的任何 X- header 肯定不会包含在回复中(除非您可以控制该 MUA)。
但是,您跟踪原始消息的计划当然是可行的:参见 RFC 5322 的第 3.6.4 节。 .每条消息都应该(不是必须)有一个 Message-ID header ,并且在适当的时候应该有 In-Reply-To 和 References header 。

The "Message-ID:" field contains a single unique message identifier. The "References:" and "In-Reply-To:" fields each contain one or more unique message identifiers, optionally separated by [whitespace].


提及 In-Reply-To 以标识正在回复的消息(或消息),而 References 标识整个对话线程。 References header 旨在包含要回复的消息的 References header 的全部内容,因此您只需要最后一条消息即可识别整个线程。
请注意 回复 回复 不是同一件事(后者指定了发件人希望将回复发送到的地址)。
假设您有原始消息,那么您应该能够使用任何回复的 References header 来识别原始消息。并非每个 MUA 都会正确处理引用或回复,但大多数都会正确处理。

关于email - 电子邮件线程中自定义标题的持久性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7591557/

相关文章:

适用于Vue SPA的Laravel电子邮件验证

编译和链接许多 .c 源程序使用的 .h 头文件

php - UTF-8 内容类型元标记会减慢页面加载速度,为什么?

phpmailer - PHP mail() 文档说我应该只在正文中使用 LF,但 RFC 5322 另有说明。

email - 电子邮件地址本地部分的最大长度究竟是多少?

mysql - 将数据库查询结果格式化为电子邮件

Android:注册 Intent Filter 以使用我的应用程序打开电子邮件附件

sql - postgresql:在标题上强制引号

python - 电子邮件标题中的顺序重要吗?

python - 通过 python IMAP 使用消息 ID 检索/搜索电子邮件