【问题标题】:In SMTP, must the RCPT TO: and TO: match?在 SMTP 中,RCPT TO: 和 TO: 必须匹配吗?
【发布时间】:2012-06-05 00:52:57
【问题描述】:

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

另外,如果收件人不在 RCPT TO 中,但在邮件标头的 To 字段中,是否会发送给不在 RCPT TO 中的收件人?

【问题讨论】:

  • 第二段非常混乱。请您改写它以使其更清楚吗?它可以使问题/答案对其他人更有帮助。

标签: email smtp protocols


【解决方案1】:

不,它们不必匹配。发送邮件时,SMTP 服务器(又名邮件传输代理或 MTA)正在创建一个所谓的 SMTP 信封,其中包含邮件的收件人和发件人(请参阅RFC5321):

SMTP 传输一个邮件对象。一个邮件对象包含一个信封和内容。 SMTP 信封作为一系列 SMTP 协议发送 单位(在第 3 节中描述)。它由一个发起者组成 地址(错误报告应指向的地址),一个或多个 收件人地址和可选的协议扩展材料。

实际上,RCPT TO: 命令的收件人通常比邮件头多 - 一种常见情况是使用“密件抄送”密件抄送:(请参阅RFC5321):

未出现在邮件标题部分的地址可能会出现 在 RCPT 命令中发送到 SMTP 服务器的原因有很多。这 两个最常见的涉及使用邮寄地址作为“列表 爆炸器”(一个地址解析成多个地址)和 “盲拷贝”的出现。

【讨论】:

    【解决方案2】:

    此 RCPT TO 收件人列表是否必须与标头匹配 在 DATA 命令中指示?

    没有。

    如果收件人不在 RCPT TO 中,但在收件人字段中 电子邮件标头,是否将发送给不在 RCPT 中的收件人 到?

    RCPT。这是我自己的 SMTP 客户端的(修改后的)成绩单,我会按照您的要求进行操作:

    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”。

    【讨论】:

    • 顺便说一句,IMF 字段(收件人、发件人)可能会显示在您的电子邮件客户端中,因此它似乎来自和/或发送到错误的地址。
    【解决方案3】:

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

    当使用 RFC 822 格式 [7, 32] 时,邮件数据包括
    备忘录标题项目,例如日期、主题、收件人、抄送、发件人。服务器 SMTP
    系统不应该拒绝基于感知到的缺陷的消息
    RFC 822 或 MIME [12] 邮件头或邮件正文。

    还有这个:

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

    • 如果没有 MAIL 或 RCPT、命令或所有此类命令 被拒绝,服务器可能会返回“命令乱序” (503) 或“无有效接收者” (554) 回复 DATA 命令。如果其中一个回复(或任何其他 5yz 回复)是 收到,客户端不得发送消息数据;更多的 通常,除非收到 354 回复,否则不得发送消息数据 收到。

    从这些语句中,标题和 RCPT TO: 命令内容不必匹配(尽管它们应该匹配),并且不使用 RCPT TO: 可能会导致错误以阻止继续执行 DATA 命令。

    【讨论】:

    • 如果 RCPT 和 To: 不匹配怎么办。在这种情况下,谁是实际收件人?
    • @Jelena,我相信 RCPT 才是最重要的,To: 可以是随机数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-23
    • 2018-10-17
    • 2019-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多