smtp邮件的DATA部分的From和To的功能是什么



我正在尝试理解使用smtp发送邮件。我看到了一个例子,它是这样的:

 HELO yourhost.yourdomain.edu
 MAIL FROM: <carol@yourhost.yourdomain.edu>
 RCPT TO: <msgs@host1.somewhere.com>
 RCPT TO: <alice@host2.somewhere.com>
 DATA
 Date: Sun, 30 Nov 98 nn:nn:nn EST
 From: Carol <carol@yourhost.yourdomain.edu>
 To:   <msgs@host1.somewhere.com>
 Cc:   <alice@host2.somewhere.com>
 Subject: Update
 Mike: Cindy stubbed her toe.  Bobby went to
    baseball camp.  Marsha made the cheerleading team.
    Jan got glasses.  Peter has an identity crisis.
    Greg made dates with 3 girls and couldn't
    remember their names.
 .
 QUIT

我感到困惑的是,我们一开始就有MAIL FROM和RCPT TO,为什么我们在DATA部分也有FROM:、TO:和Cc:?标题处的RCPT TO和DATA部分的TO有什么区别?如果我们假设我们用这些命令成功地发送了邮件,结果会是什么?我的意思是,接收者看到的是什么?

感谢

消息主体在协议的DATA部分传输。

但是,SMTP使用MAIL FROM和RCPT TO来记录信封信息(可能与实际邮件不同)。这在邮件列表传递中最为明显,在邮件列表中,信封是写给实际收件人的,而邮件正文通常只包含通讯组列表名称。

收件人将只能看到数据中的内容。当MTA(邮件传输代理)将内容放入邮件存储中以供MUA(邮件用户代理)检索并显示给用户时,信封将丢失。

由于值不匹配的可能性,这已经产生了多年的问题(以及无尽的垃圾邮件),但在准备RFC-822结构和SMTP传输协议及其后续协议时,这被视为最合适的机制。

实际的传输不需要以任何特定的形式格式化邮件。这是由接收系统验证的,以确保只有格式良好的邮件才能接受本地传递。

基本上:SMTP服务器,如Postfix,只对信封(MAIL FROM和RCPT TO命令)感兴趣,邮件用户代理,如Thunderbird,只对邮件内容(FROM:、TO:和Cc标头)感兴趣。

这与蜗牛邮件非常相似,信封上的地址和随附的信件通常是相同的,但不一定。

信封中的反向路径表示如果出现问题,应在哪里发送反弹消息。它可能与From标头匹配,也可能不匹配。例如,一位秘书以老板的名义发送邮件。反向路径将包含秘书的电子邮件地址,发件人标头将包含老板的姓名和邮件地址。在邮件列表的情况下也有所不同,因为它是由Pekka编写的。

前向路径(RCPT TO参数)是实际目的地。SMTP服务器不关心是因为某人在"收件人"中,还是因为他在"抄送"列表中而必须将邮件发送给他。在密件抄送地址的情况下,邮件内容中自然没有密件抄送标头!毕竟它是盲目的复写本。但是密件抄送收件人在RCPT TO命令中被列为转发路径,所以SMTP服务器会知道他们,而用户不会。

相关内容

最新更新