一尘不染

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

go

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

这是当前发件人地址的外观(其中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)发送邮件时我也用过。是否需要一些设置或我需要做的其他验证?


阅读 270

收藏
2020-07-02

共1个答案

一尘不染

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

使用NodeMailer进行node.js项目时,我遇到了同样的问题。Gmail和Thunderbird可以很好地显示发件人地址,但是Outlook可以将发件人地址显示为

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

当我查看完整的电子邮件标题时,发现sender:标题中的emailname=example.com@mail.example.comfrom: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 <emailname@example.com>

2020-07-02