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.com和from:是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 - "代表"消息走了......愚蠢的我......
小智 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)