Message-ID 在电子邮件中有什么用?
What is the use of Message-ID in email?
根据我的阅读,每个 Message-ID 都必须是唯一的,但是如果我们强制 header 具有固定值,则可以创建重复的 Message-ID。所以我不明白他们说 Message-ID 应该是唯一的有什么意义,但他们很容易创建重复项。如果任何具有一点阅读和基本编程知识的人都可以轻松生成它们,那么为什么 Message-ID 存在以及它们的用途是什么,我可以很容易地复制它们?
简答:用于电子邮件客户端中的线程。
message-id
header定义在RFC 2822:
The "Message-ID:" field contains a single unique message identifier.
The "References:" and "In-Reply-To:" field each contain one or more
unique message identifiers
例如,消息 ID 用于显示哪条消息是对哪条其他消息的回复。这样即使 Subject
等其他内容没有改变,邮件客户端也可以显示带有回复的电子邮件树。 (计算主题行的前导 Re:
不是确定祖先的好方法,children:并非每个邮件客户端都添加它们,有些使用特定语言的。)
https://datatracker.ietf.org/doc/html/rfc5322#section-3.6.4
结合 References
和 In-Reply-To
字段,邮件客户端使用 Message-ID
将多条消息组织到线程中。
https://en.wikipedia.org/wiki/Message-ID
并且至少有一些客户端会将具有相同 ID 的两条消息视为同一事物并丢弃其中一条。
根据我的阅读,每个 Message-ID 都必须是唯一的,但是如果我们强制 header 具有固定值,则可以创建重复的 Message-ID。所以我不明白他们说 Message-ID 应该是唯一的有什么意义,但他们很容易创建重复项。如果任何具有一点阅读和基本编程知识的人都可以轻松生成它们,那么为什么 Message-ID 存在以及它们的用途是什么,我可以很容易地复制它们?
简答:用于电子邮件客户端中的线程。
message-id
header定义在RFC 2822:
The "Message-ID:" field contains a single unique message identifier. The "References:" and "In-Reply-To:" field each contain one or more unique message identifiers
例如,消息 ID 用于显示哪条消息是对哪条其他消息的回复。这样即使 Subject
等其他内容没有改变,邮件客户端也可以显示带有回复的电子邮件树。 (计算主题行的前导 Re:
不是确定祖先的好方法,children:并非每个邮件客户端都添加它们,有些使用特定语言的。)
https://datatracker.ietf.org/doc/html/rfc5322#section-3.6.4
结合 References
和 In-Reply-To
字段,邮件客户端使用 Message-ID
将多条消息组织到线程中。
https://en.wikipedia.org/wiki/Message-ID
并且至少有一些客户端会将具有相同 ID 的两条消息视为同一事物并丢弃其中一条。