我了解到,FROM地址和TO地址在一个名为“envelope”的隐藏元素中重复,然后在“body”中再次重复。
题
电子邮件标题中的地址与信封发件人和收件人的目的不同(它本身并不是隐藏的,它们不是信息的一部分)。
您在邮件中从不会看到的信封发件人和收件人是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.com和example.net的MXlogging以继续交付。
您的邮件服务器现在将与每个接收服务器build立两个单独的SMTP连接,以进一步发送电子邮件。
当与example.com的MX进行通信时,所有三个接收器仍然位于To头中,但是只有一个信封接收器。
当与example.net进行通讯时,所有三个接收器仍然在To头中,但是只有两个包络接收器。
与上述想象类似,您打印了三份信件,其中有三位收件人写在纸上。 然后,将这三张纸放在三个单独的信封中,并在每个信封上只写一个地址。
还有其他一些情况,例如使用bcc和转发电子邮件时有所不同。
作为一个稍微做作的模拟,想象你正在与某个实体交换信件。 对该实体不知情的,您可以为您的信件中的每封信写上您的律师的复印件。