为以其他人身份发送的电子邮件设置 SMTP 标头的正确方法是什么?

How*_*amp 2 email smtp headers

某些应用程序要求系统生成的电子邮件以其他人的身份发送,或者更准确地说,它们要求看起来像是其他人发送的。

构建电子邮件标头以实现此目的的正确/可接受的方法是什么?

为了作为问题的素材,我在收到的两封电子邮件中添加了以下标题:

  1. 通过 Gmail 发送的电子邮件,使用除主 Gmail 电子邮件地址之外配置的备用发件人地址发送。
  2. 带有伪造标头的伪造电子邮件,以非真实人员身份秘密发送。

电子邮件 1:

在此示例中,RealGmailAccount@gmail.com是实际发件人的电子邮件地址,AlternateEmail@example.com是 Gmail 中配置的备用电子邮件地址,用于发送下面的电子邮件。

Return-Path: <RealGmailAccount@gmail.com>
X-Orig-To: me@example.com
Received: from [209.85.216.45] ([209.85.216.45:57830] helo=mail-qa0-f45.google.com)     by smtp13.gate.ord1c.rsapps.net (envelope-from <RealGmailAccount@gmail.com>)
Received: by mail-qa0-f45.google.com with SMTP id cm18so1356657qab.18 for <me@example.com>; Wed, 23 Apr 2014 13:32:45 -0700 (PDT)
Sender: <RealGmailAccount@gmail.com>
Subject: Test Message
From: Real User's Name <AlternateEmail@example.com>
Run Code Online (Sandbox Code Playgroud)

根据接收用户的电子邮件客户端,电子邮件可能会显示如下内容:RealGmailAccount@gmail.com; on behalf of; Real User's Name <AlternateEmail@example.com>

电子邮件2:

在此示例中,RealUsersEmailAddress@example.com是发送此假电子邮件的人的电子邮件地址。

Return-Path: <RealUsersEmailAddress@example.com>
X-Orig-To: me@example.com
Received: from [190.114.206.6] ([190.114.206.6:49144] helo=mail) by smtp55.gate.dfw1a.rsapps.net (envelope-from <RealUsersEmailAddress@example.com>) 
Subject: Test message 2
From: Real User's Name <RealUsersEmailAddress@example.com>
Run Code Online (Sandbox Code Playgroud)

像这样的电子邮件通常会出现在电子邮件客户端中。

Gmail 示例是制作标头的正确方法吗?

Bar*_*mar 5

RFC 5322的第 3.6.2 节解释了如何填写发起者标头。当发件人想要冒充其他人(例如代表老板发送邮件的助理)时,他们所冒充的地址会出现在标头中From,而他们的真实地址位于Sender标题中。这假设邮件提交代理可以确定发件人的真实地址,例如,它需要用户身份验证。