Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 移除';代表';使用邮枪发送邮件时_Email_Go_Mailgun_Dkim - Fatal编程技术网

Email 移除';代表';使用邮枪发送邮件时

Email 移除';代表';使用邮枪发送邮件时,email,go,mailgun,dkim,Email,Go,Mailgun,Dkim,我试图弄清楚如何使用MailGun Golang API发送邮件,而不让它“代表”发送 这是发件人地址当前的外观(其中foo.com是发件人的电子邮件域,bar.com是我的域): john=foo。com@mail.bar.com代表约翰·史密斯 我需要做什么才能让它看起来像这样: John Smith <john@foo.com> 约翰·史密斯 我已经按照邮枪的指示设置了SPF和DKIM,一切都是正确的。我在发送邮件时也使用了SetDKIM(true)。是否缺少某些设置或需

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

这是发件人地址当前的外观(其中foo.com是发件人的电子邮件域,bar.com是我的域):

john=foo。com@mail.bar.com代表约翰·史密斯
我需要做什么才能让它看起来像这样:

John Smith <john@foo.com>
约翰·史密斯
我已经按照邮枪的指示设置了SPF和DKIM,一切都是正确的。我在发送邮件时也使用了
SetDKIM(true)
。是否缺少某些设置或需要执行其他验证?

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


您只能从使用Mailgun授权的域发送带有白色标签的电子邮件。

您需要将电子邮件标题中的
发件人属性设置为发件人地址

我在node.js项目中使用nodeEmailer时也遇到同样的问题。Gmail和Thunderbird可以很好地显示发件人地址,但Outlook会将发件人地址显示为

emailname=example.com@mail.example.com on behalf of emailname@example.com
当我查看完整的电子邮件标题时,我看到标题中的
发件人:
emailname=example。com@mail.example.com
和来自的
emailname@example.com

我们首先查看了spf和dkim记录,认为这是一个问题,但它们没有问题,在电子邮件标题中,甚至说spf和dkim都通过了,所以我注意到发件人标题与发件人标题不同,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>
收到SPF:pass(google.com…)。。。。
认证结果:mx.google.com;
dkim=passheader.i=@mail.example.com;
spf=pass(google.com。。。。。
发件人:emailname=示例。com@mail.example.com
发件人:姓名
使
发件人
等于
发件人:人员姓名

是否添加了mg子域? 如果您添加了一个子域,如@mg.domain.com,则确保您从以下地址发送电子邮件:name@mg.domain.com

我也有同样的问题,因为我没有意识到我想知道发件人的地址name@domain.com但我已经按照建议在mailgun中添加了一个子域:mg.domain.com


所以当我试图从name@domain.com我收到了“代表”/“发送人”,但一旦我使用了子域name@mg.domain.com“代表”信息消失了…我真蠢…

再加上多金的回答:

如果您正在使用MailGun中的子域,如
mail.bar.com
,并且发件人电子邮件地址正在使用另一个域,如
john@foo.com

若要解决此问题,请添加自定义MIME标题“发件人”,并将其设置为与发件人电子邮件地址相同。

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

request.AddParameter("h:sender", "John Smith <john@foo.com> ");
request.AddParameter(“h:sender”、“John Smith”);

请尝试向gmail发送电子邮件,并在上面的问题中发布收到的电子邮件的标题否,我是从我授权的域发送的。换句话说,上面的mail.bar.com是我在Mailgun中指定的。我想这就是问题所在!你需要在Mailgun中设置foo.com,因为你发送的是“发件人”john@foo.com (而不是mail.bar.com)。谢谢。这解决了我使用Mailgun的问题。这是可行的,但请注意标题应该是“发件人”,而不是“h:发件人”。在使用MailGun库时,AddParameter为您添加了h:。这救了我的命!谢谢!!顺便说一句,我必须包含h:,我尝试了不包含h:,但没有任何更改,直到我使用h:来表示头值的使用。我有与@Ray相同的经验。如果任何Pythonistas正在使用请求库,您可以添加“h:sender”像这样:
response=requests.post(url,auth,data={“h:sender”:“Name”,…})
Hmm,在Mailgun的设置中,他们说“我们建议使用一个子域与Mailgun一起使用,比如“mg.mydomain.com”。使用子域,您仍然可以从根域发送电子邮件,例如。”you@mydomain.com”"。如果这是真的,我想知道这个过程会是什么?是的。Mailgun不应该说
使用子域,您仍然可以从根域发送电子邮件,并且/或者应该提到该设置的问题,他们在自己的文档中描述了这些问题:
request.AddParameter("h:sender", "John Smith <john@foo.com> ");