2015-02-09 121 views
11

我试图弄清楚如何使用MailGun Golang API发送邮件,而不用'代表'发送邮件。使用MailGun发送邮件时删除'代''

这是怎样的发件人地址目前看起来(其中foo.com是发件人的电子邮件域和bar.com是我的域名):

[email protected] on behalf of John Smith <[email protected]> 

什么我需要做的,这样它看起来像这样相反:

John Smith <[email protected]> 

我已经根据MailGun指令设置了SPF和DKIM,并且所有事情都经过了正确的处理。我在发送邮件时也使用了SetDKIM(true)。有没有我缺少的设置或需要额外的验证?

+0

请尝试将电子邮件发送到Gmail和后接收到的电子邮件的头在上面的问题 – masegaloeh 2015-02-09 05:49:20

回答

8

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

我有一个node.js项目使用NodeMailer的同样的问题。 Gmail和雷鸟将可能从地址精细显示,但展望将可能从地址显示为

[email protected] on behalf of [email protected] 

当我看着我看到完整的电子邮件标头,头中的sender:[email protected]from:[email protected]

我们首先考虑了spf和dkim记录,认为这是一个问题,但它们很好,在电子邮件标题中它甚至表示spf和dkim都通过了,于是我注意到发件人标题与from和Outlook不同关注gmail和雷鸟不在乎的地方。

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

下面是编辑,以符合上述

Received-SPF: pass (google.com.... 
Authentication-Results: mx.google.com; 
     dkim=pass [email protected]; 
     spf=pass (google.com..... 
Sender: [email protected] 
From: Persons Name <[email protected]> 

使Sender等于Sender: Persons Name <[email protected]>

+0

谢谢。这解决了我与Mailgun的问题。 – Skowronek 2016-05-20 03:00:20

2

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

您只能从您授权Mailgun的域中发送白色标记的电子邮件。

+0

不,我从我授权的域名发送。换句话说,上面的mail.bar.com是我在Mailgun中指定的。 – Bill 2015-02-09 18:23:44

+1

我认为这是问题! 你需要有建立在foo.com因为mailgun你“从” [email protected](而不是mail.bar.com)发送。 – 2015-08-14 11:45:09

8

只是如果别人发现的这个线程例子的错误的电子邮件标题中的一个组成部分样本...我有同样的问题,因为我没有意识到我想要发件人地址[email protected]但我添加了 - 按照推荐 - 子域到mailgun:mg.domain.com。所以当我试图发送一封来自[email protected]的电子邮件时当我使用[email protected]时,我得到了“代表”/“发送者” - “代表”已不存在... 愚蠢的我...

1

为了增加Dhodgin的回答是:

on behalf of消息出现时,如果您使用的是MailGun子域名,如mail.bar.com和电子邮件地址中使用不同的域名,如[email protected]
要解决此问题,添加一个自定义的MIME标题“发件人”,并将其设置为与发件人电子邮件地址相同。

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

request.AddParameter("h:sender", "John Smith <[email protected]> "); 
+0

这有效,但注意头应该是“发件人”而不是“h:发件人”。在使用MailGun库时,AddParameter会为您添加h:。 – Bill 2017-08-20 10:56:35

相关问题