重复“信封”和“标题”中的电子邮件地址有什么意义?

我了解到,FROM地址和TO地址在一个名为“envelope”的隐藏元素中重复,然后在“body”中再次重复。

  1. 为什么不将信封数据复制到“标题”?
  2. 为什么这种重复存在,为什么不能把必要的特征embedded到信息本身呢?
  3. 做所有(非SMTP)消息传输做到这一点?
  4. 还有什么其他的SMTP? (所以我可以更好地理解这个推理)

    电子邮件标题中的地址与信封发件人和收件人的目的不同(它本身并不是隐藏的,它们不是信息的一部分)。

    您在邮件中从不会看到的信封发件人和收件人是SMTP协议的一部分,并指定传递说明 ,即邮件服务器要将邮件传递到哪个邮箱,或者在有些失败。 这两个地址都不需要与消息的语义内容有任何关系。 这些在RFC 5321第4.1.1.2和4.1.1.3节中有详细的解释。

    从逻辑上来说,这些与邮件信封上打印的地址类似。

    出现在消息本身中的始发者和目的地地址表示语义,而不是明确的传递指令。 这些在RFC 5322第3.6.3节和RFC 6854第2.1节(它废弃了RFC 5322第3.6.2节)中有详细的解释。

    简而言之,发件人:表示代表其他人发送邮件的实体,邮件中的发件人表示发送邮件的人的邮箱;收件人:和抄送:指示预期的收件人邮箱。 RFC也定义了您可能感兴趣的其他标题字段。

    从逻辑上讲,这些类似于在一封邮件内的信件上打印的地址。

    通常,信封发件人和收件人与From:和To:地址相同。 但是,通常他们根本就没有信件,比如邮件列表。

    在发送包含多个收件人的电子邮件期间,您将看到不同的最常见的情况。

    假设您即将发送电子邮件至:

    当您的邮件客户端发送电子邮件到您的邮件服务器时,所有三个地址将在信封和标题上重复。 接下来,您的邮件服务器将查找example.comexample.net的MXlogging以继续交付。

    您的邮件服务器现在将与每个接收服务器build立两个单独的SMTP连接,以进一步发送电子邮件。

    当与example.com的MX进行通信时,所有三个接收器仍然位于To头中,但是只有一个信封接收器。

    当与example.net进行通讯时,所有三个接收器仍然在To头中,但是只有两个包络接收器。

    与上述想象类似,您打印了三份信件,其中有三位收件人写在纸上。 然后,将这三张纸放在三个单独的信封中,并在每个信封上只写一个地址。


    还有其他一些情况,例如使用bcc和转发电子邮件时有所不同。

    作为一个稍微做作的模拟,想象你正在与某个实体交换信件。 对该实体不知情的,您可以为您的信件中的每封信写上您的律师的复印件。