【问题标题】:Removing 'on behalf of' when sending mail using MailGun使用 MailGun 发送邮件时删除“代表”
【发布时间】:2015-04-08 17:09:00
【问题描述】:

我试图弄清楚如何使用 MailGun Golang API 发送邮件,而不是“代表”发送邮件。

这是 From 地址当前的样子(其中 foo.com 是发件人的电子邮件域,bar.com 是我的域):

john=foo.com@mail.bar.com on behalf of John Smith <john@foo.com>

我需要做什么才能让它看起来像这样:

John Smith <john@foo.com>

我已经根据 MailGun 的说明设置了 SPF 和 DKIM,并且一切正常。我在发送邮件时也使用了SetDKIM(true)。我是否缺少某些设置或需要进行其他验证?

【问题讨论】:

  • 请尝试向gmail发送电子邮件并在上述问题中发布收到的电子邮件标题

标签: email go mailgun dkim


【解决方案1】:

您是否添加了 mg 子域?

如果您添加了子域,例如@mg.domain.com,那么请确保您从 name@mg.domain.com 发送电子邮件

我遇到了同样的问题,因为我没有意识到我想要发件人地址 name@domain.com,但我已经按照建议添加了一个子域到 mailgun:mg.domain.com

因此,当我尝试从 name@domain.com 发送电子邮件时,我得到了“代表”/“发送者”,但只要我使用了子域 name @mg.domain.com - “代表”信息不见了……我傻了……

【讨论】:

  • 嗯,在 Mailgun 的设置中,他们说“我们建议使用带有 Mailgun 的子域,例如“mg.mydomain.com”。使用子域,您仍然可以从根域发送电子邮件,例如“你@mydomain.com””。如果这是真的,我想知道这个过程会是什么?
  • 是的。 Mailgun 不应该说 Using a subdomain you will still be able to send emails from your root domain 和/或应该提到该设置的问题,他们在自己的文档中描述了这些问题:help.mailgun.com/hc/en-us/articles/…
【解决方案2】:

补充道金的答案:

如果您在 MailGun 中使用子域(例如 mail.bar.com)并且发件人电子邮件地址使用不同的域(例如 john@foo.com),则会出现 on behalf of 消息
要解决此问题,请添加自定义 MIME 标头“发件人”并将其设置为与发件人电子邮件地址相同。

要使用 MailGun api 添加自定义标头,请确保添加 h: 前缀,例如:

request.AddParameter("h:sender", "John Smith <john@foo.com> ");

【讨论】:

  • 这可行,但请注意标题应为“sender”而不是“h:sender”。使用 MailGun 库时,AddParameter 会为您添加 h:。
  • 这救了我的命!谢谢!!顺便说一句,我必须包含 h:,我尝试不使用它,但在我使用 h: 表示使用标头值之前没有任何变化
  • 我和@Ray有同样的经历。
  • 如果有 Pythonistas 正在使用 requests 库,您可以像这样添加“h:sender”:response = requests.post(url, auth, data={"h:sender": "Name &lt;name@email.com&gt;", ...})
  • 我用API和HAD加h:(只用sender,不行)
【解决方案3】:

您很可能也需要将电子邮件标题中的sender 属性设置为发件人地址。

我在 node.js 项目中使用 NodeMailer 时遇到了同样的问题。 Gmail 和 Thunderbird 会正常显示发件人地址,但 Outlook 会将发件人地址显示为

emailname=example.com@mail.example.com on behalf of emailname@example.com

当我查看完整的电子邮件标头时,我发现标头中的 sender:emailname=example.com@mail.example.com,而 from:emailname@example.com

我们起初查看了 spf 和 dkim 记录,认为这是一个问题,但它们很好,在电子邮件标题中甚至说 spf 和 dkim 都通过了,所以我注意到发件人标题不同于 from 和Outlook 会关注 gmail 和 Thunderbird 不太关心的地方。

尝试将sender 标头设置为from 值。

这里是一个错误的电子邮件标题的一部分,它被编辑以匹配上面的示例

Received-SPF: pass (google.com....
Authentication-Results: mx.google.com;
       dkim=pass header.i=@mail.example.com;
       spf=pass (google.com.....
Sender: emailname=example.com@mail.example.com
From: Persons Name <emailname@example.com>

使Sender 等于Sender: Persons Name &lt;emailname@example.com&gt;

【讨论】:

  • 谢谢。这解决了我使用 Mailgun 的问题。
【解决方案4】:

您是否尝试从与您设置 SPF/DKIM 的域不同的域发送?

您只能从您获得 Mailgun 授权的域发送带有白标签的电子邮件。

【讨论】:

  • 不,我从我授权的域发送。换句话说,上面的 mail.bar.com 是我在 Mailgun 中指定的。
  • 我认为这就是问题所在!您需要在 mailgun 中设置 foo.com,因为您是“从”john@foo.com(而不是 mail.bar.com)发送的。
猜你喜欢
  • 1970-01-01
  • 2017-09-28
  • 1970-01-01
  • 2017-06-11
  • 1970-01-01
  • 2017-10-12
  • 1970-01-01
  • 2016-01-24
  • 2014-04-14
相关资源
最近更新 更多