SMTP 允许在 RFC 中使用多个 FROM 地址。这曾经有用吗,为什么存在?

Chr*_*ski 28 smtp rfc

根据 RFC,SMTP 允许正文(不是信封)上有多个 FROM 地址。

此功能是否曾被用于合法目的?

丢弃具有多个 FROM 地址的邮件是否安全?

Mic*_*ton 31

RFC 822实际上给出了这种用法的一个例子。它要求(第 4.4 节)在使用时必须存在 Sender: 标头。

     A.2.7.  Agent for member of a committee

             George's secretary sends out a message which was authored
        jointly by all the members of a committee.  Note that the name
        of the committee cannot be specified, since <group> names  are
        not permitted in the From field.

            From:   Jones@Host,
                    Smith@Other-Host,
                    Doe@Somewhere-Else
            Sender: Secy@SHost
Run Code Online (Sandbox Code Playgroud)

已经过时的RFC 2822继续明确允许这种特殊构造(第 3.6.2 节)。

from            =       "From:" mailbox-list CRLF

mailbox-list    =       (mailbox *("," mailbox)) / obs-mbox-list
Run Code Online (Sandbox Code Playgroud)

当前的标准RFC 5322 中,这没有改变,仍然明确允许多个地址(第 3.6.2 节)。

   The from field consists of the field name "From" and a comma-
   separated list of one or more mailbox specifications.  If the from
   field contains more than one mailbox specification in the mailbox-
   list, then the sender field, containing the field name "Sender" and a
   single mailbox specification, MUST appear in the message.
Run Code Online (Sandbox Code Playgroud)

它曾经有用吗?是的,而且现在仍然如此,这正是古代示例中显示的那种场景。具有多个作者的邮件应该将所有作者都列在 From: 标题中,并将 Sender: 设置为在他们的电子邮件程序中实际点击发送的人。

   The originator fields indicate the mailbox(es) of the source of the
   message.  The "From:" field specifies the author(s) of the message,
   that is, the mailbox(es) of the person(s) or system(s) responsible
   for the writing of the message.  The "Sender:" field specifies the
   mailbox of the agent responsible for the actual transmission of the
   message.  For example, if a secretary were to send a message for
   another person, the mailbox of the secretary would appear in the
   "Sender:" field and the mailbox of the actual author would appear in
   the "From:" field.  If the originator of the message can be indicated
   by a single mailbox and the author and transmitter are identical, the
   "Sender:" field SHOULD NOT be used.  Otherwise, both fields SHOULD
   appear.
Run Code Online (Sandbox Code Playgroud)

在公共 Internet 上的实践中,这样做的消息并不常见,尽管它们确实发生在企业和学术环境中,在这些环境中,一个人代表另一个人或一组人发送电子邮件更为常见。

我从未真正见过这样做的垃圾邮件(并且通过了我所有的其他控件)。我通常认为丢弃或提高此类邮件的垃圾邮件分数是不安全的


Bil*_*hor 5

我没有看到发件人字段中有多个地址用于合法目的。我见过的少数案例是垃圾邮件,并且有多个相同地址的副本。

我不知道在这种情况下支持列表的任何消息编写软件。我认为合适的案例比较少,以我的经验是通过其他方式处理的。

我在我的系统中添加了一个垃圾邮件规则,该规则为具有多个地址的 From 标头添加了高分。为了合规,仅以此为基础拒绝邮件是不正确的。如果它们通过了其他垃圾邮件检查,您可能需要隔离邮件,同时评估您是否需要或想要接受此类邮件。

编辑:我已经回顾了迈克尔汉普顿经过充分研究的答案。看来,如果 From 标头包含一个列表,则需要一个有效的 Sender 标头。我相信这样的过滤器会捕获通过转发地址传递的垃圾邮件。From 标头中没有 Sender 标头的列表将违反允许列表的预期目的。

我已经对三种常见的邮件撰写工具进行了初步测试;Microsoft Outlook、Thunderbird 和 GMail。这些似乎都不支持“发件人”字段中的列表。只有 Outlook 支持代表其他用户发送电子邮件。

  • Thunderbird 目前的版本为 45.2 (5认同)