我试图弄清楚如何使用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)发送邮件时我也用过。是否需要一些设置或我需要做的其他验证?
SetDKIM(true)
您还需要sender将电子邮件标题中的属性设置为最有可能的发件人地址。
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.com和from:是emailname@example.com
sender:
emailname=example.com@mail.example.com
from:
emailname@example.com
我们最初查看spf和dkim记录时认为这是一个问题,但它们很好,并且在电子邮件标头中甚至表示spf和dkim都已通过,因此我注意到发件人标头不同于from和Outlook注意到gmail和thunderbird不在乎的地方。
尝试将sender标题设置为该from值。
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>
Sender
Sender: Persons Name <emailname@example.com>