为什么电子邮件需要信封,“信封”是什么意思?

时间:2009-11-17 16:48:31

标签: security email smtp rfc822

信封与smtp中的电子邮件之间的确切区别是什么?

为什么协议需要信封?在蜗牛邮件中,信件不需要包含地址,邮递员看不到(至少这是你想要的信号),所以所有的路由都完全基于信封,这对我来说很清楚。

但是在电子邮件中,字母本身是可解析的,并且包含诸如From:和To:之类的标题。为什么这还不足以路由电子邮件?为什么我们需要一个信封?

信封和电子邮件本身之间的分歧是什么意思?这是否一定意味着有人试图对系统进行游戏,或者在某些情况下(在什么情况下?),在它们之间存在差异是合法的。

您的澄清非常受欢迎。

困惑的电子邮件接收器。

4 个答案:

答案 0 :(得分:27)

SMTP RCPT TO:命令中的收件人地址是邮件传输用于确定电子邮件的实际收件人的地址。 To:和Cc:标题中的地址可供邮件读者显示给收件人的用户,但邮件传输实际上并未使用它们。

大多数邮件客户端在他们在To:,Cc:和From:标头中插入的SMTP RCPT TO:MAIL FROM:命令中设置相同的地址,因此“信封”地址将与标题中的地址。

信封和标题地址通常会同意大多数合法邮件。值得注意的例外是Bcc:地址和邮件列表。

垃圾邮件发送者经常伪造标题地址以避免垃圾邮件过滤器。

答案 1 :(得分:8)

底线是开销太大了。当邮件服务器每天处理数百万条邮件时,在邮件服务器可以处理单个命令的SMTP会话(信封)期间,它会快得多。

如果您没有使用信封,则必须在SMTP服务器上推送整个邮件,然后才能确定邮件是否需要被拒绝。有些消息非常大(我看过100 + Meg消息使用GIS图像)。

通过使用信封,我们可以针对邮件服务器发出特定的1行命令,邮件服务器将告诉我们我们是否成功,当时和那里。

答案 2 :(得分:7)

信封由SMTP服务器使用,邮件阅读器使用邮件标题,正如其他人所说的那样。

未说的是,RCPT TO:用于将邮件路由到特定用户,无论用户姓名出现在标头中的哪个位置。用户不一定需要显示在To:甚至Cc:标题中。想想Bcc:,接收者唯一知道的是消息来自谁。在这种情况下,To:CC:标题应为空 - 因此BCC的部分。在另一种情况下,如果电子邮件消息中包含CC列表中提到的用户以及其他10个用户,则SMTP路由如何选择适当的用户。答案是它使用RCPT行来路由消息。

通过邮件列表进行路由时也会使用此选项。 To:标题将包含邮件列表电子邮件地址。 SMTP系统将为列表中的每个用户生成单独的消息,每个用户都有一个特定的RCPT TO: user@host...信封。在这种情况下,用户的名称甚至不会出现在任何其他标题中。

答案 3 :(得分:1)

电子邮件非常类似于您在邮件中发送的物理信件。有一个信封,其中包含收件人/发件人信息,并且里面有实际的字母,并带有自己的收件人/发件人信息。 到/从的信息信封是用于电子邮件服务器和邮局的邮件传递的真实信息。

信封进入邮局时,他们检查信封上的收件人地址,并将其发送到正确的目的地。邮局工作人员不了解信封内的信件。内部的寄送/寄送信息可能与信封上所述的完全不同。信封可能会说是发给鲍勃的信,但是里面的信可能会说是给爱丽丝的。或在现实世界中:信封可以说消息是发给 SomeCompanyName 的,当秘书打开信封时,里面的信说是给布朗先生的,他在 SomeCompanyName 中工作。

来源:Email Envelope vs Email Header