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

结合 ReferencesIn-Reply-To 字段,邮件客户端使用 Message-ID 将多条消息组织到线程中。

https://en.wikipedia.org/wiki/Message-ID

并且至少有一些客户端会将具有相同 ID 的两条消息视为同一事物并丢弃其中一条。