使用MailGun发送邮件时删除'代表'

Bil*_*ill 21 email go dkim mailgun

我试图找出如何使用MailGun Golang API发送邮件,而不是代表'发送'.

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

john=foo.com@mail.bar.com on behalf of John Smith <john@foo.com>
Run Code Online (Sandbox Code Playgroud)

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

John Smith <john@foo.com>
Run Code Online (Sandbox Code Playgroud)

我根据MailGun指令设置了SPF和DKIM,一切都正确.SetDKIM(true)当我发送邮件时我也用过.是否有一些我缺少的设置或我需要做的其他验证?

Dho*_*gin 19

您需要sender将电子邮件标题中的属性设置为最有可能的地址.

我使用NodeMailer为node.js项目遇到同样的问题.Gmail和Thunderbird会显示来自地址的罚款,但Outlook会将来自地址显示为

emailname=example.com@mail.example.com on behalf of emailname@example.com
Run Code Online (Sandbox Code Playgroud)

当我看着完整的电子邮件标头,我看到的是,sender:在头是emailname=example.com@mail.example.comfrom:emailname@example.com

我们首先考虑spf和dkim记录,认为这是一个问题,但它们很好,在电子邮件标题中,它甚至说spf和dkim都通过了所以我注意到发件人标题不同于来自Outlook和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>
Run Code Online (Sandbox Code Playgroud)

使Sender等于Sender: Persons Name <emailname@example.com>


kap*_*ale 13

你添加了毫克子域吗?

如果您添加了子域名,例如@ 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”。使用子域您仍然可以从根域发送电子邮件,例如“you@mydomain.com””。如果这是真的,我想知道这个过程是什么? (5认同)

小智 12

要添加到Dhodgin的答案:如果您在MailGun中使用子域,则会出现

on behalf of消息,mail.bar.com并且来自电子邮件地址使用其他域,例如john@foo.com
要解决此问题,请添加自定义MIME标头"sender"并将其设置为与来自电子邮件地址相同.

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

request.AddParameter("h:sender", "John Smith <john@foo.com> ");
Run Code Online (Sandbox Code Playgroud)

  • 我和@Ray 有同样的经历。 (4认同)
  • 这救了我的命!谢谢!!顺便说一句,我必须包括h :,我尝试不使用它,但是直到我使用h:来表示使用标头值之前,都没有任何变化 (2认同)
  • 如果任何 Python 达人正在使用 requests 库,您可以像这样添加“h:sender”: ```response = requests.post(url, auth, data={"h:sender": "Name &lt;name@email. com&gt;", ...})``` (2认同)