首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在SMTP中,RCPT必须为:和:匹配吗?

在SMTP中,RCPT必须为:和:匹配吗?
EN

Stack Overflow用户
提问于 2012-05-30 18:34:41
回答 3查看 34.1K关注 0票数 32

发送电子邮件时,在SMTP对话期间通过RCTP TO:命令给出收件人列表。稍后,在DATA命令中,会指示“To”、“Cc”、“bcc”等标题字段。此RCPT是否必须与数据命令中指示的标头匹配?

另外,如果收件人不在RCPT TO中,而是在电子邮件标头的TO字段中,那么它是否将被传递到收件人而不是RCPT中?

EN

回答 3

Stack Overflow用户

发布于 2012-06-15 15:21:57

不,他们不一定要匹配。发送邮件时,SMTP服务器(也称为邮件传输代理或邮件传输代理)正在创建一个所谓的SMTP信封,其中包含邮件的收件人和发送方(请参阅RFC5321):

SMTP传输邮件对象。邮件对象包含信封和内容。SMTP信封作为一系列SMTP协议单元发送(见第3节)。它由一个发端地址(错误报告应该指向该地址)、一个或多个收件人地址以及可选的协议扩展材料组成。

实际上,RCPT TO:命令有更多的收件人比消息头更多--一种常见的情况是使用“盲副本”bcc:(参见RFC5321):

由于多种原因,没有出现在邮件标题部分中的地址可能会出现在到SMTP服务器的RCPT命令中。最常见的两种方法是使用邮件地址作为“列表爆炸器”(解析为多个地址的单个地址)和出现“盲副本”。

票数 22
EN

Stack Overflow用户

发布于 2012-10-23 15:06:38

此RCPT是否必须与数据命令中指示的标头匹配?

不是的。

如果收件人不在RCPT TO中,而是在电子邮件标头的To字段中,那么它是否将被传递到收件人而不是RCPT中?

RCPT。这是来自我自己SMTP客户端的(修改后的)记录,在这里我做的正是您所要求的:

代码语言:javascript
运行
复制
CLIENT: MAIL FROM:<myaccount@gmail.com>
SERVER: 250 2.1.0 OK 
CLIENT: RCPT TO:<myaccount@gmail.com>
SERVER: 250 2.1.5 OK 
CLIENT: DATA
SERVER: 354  Go ahead 
CLIENT: Subject: Test email
CLIENT: From:'John Doe'<fakeaccount@gmail.com>
CLIENT: To:'John Doe'<fakeaccount@gmail.com>
CLIENT: This is a test...
CLIENT: .

该消息已成功地发送到"myaccount@gmail.com“。

票数 14
EN

Stack Overflow用户

发布于 2012-05-30 18:46:32

SMTP协议(RFC 2821)声明如下:

当使用RFC 822格式7,32时,邮件数据包括 备注标题项目,如日期,主题,到,抄送,从。服务器SMTP 系统不应基于感知到的缺陷拒绝消息。 RFC 822或MIME 12消息头或消息体。

这是:

数据命令只能在协议交换中的两个点失败:

  • 如果没有MAIL,或者没有RCPT命令,或者所有这些命令都被拒绝,服务器可以返回响应于数据命令的“非顺序命令”(503)或“无有效收件人”(554)应答。如果接收到其中一个答复(或任何其他5yz回复),则客户端不得发送消息数据;更普遍的情况是,除非接收到354个回复,否则不能发送消息数据。

从这些语句中,headers和RCPT到:命令内容不必匹配(尽管它们应该匹配),而不使用RCPT TO:可能会导致错误,从而阻止数据命令的进行。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10822190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档