Mailgun Server响应:550 Sender拒绝

R J*_*R J 1 email mx-record mailgun

最近我遇到了一个问题,试图使用mailgun API发送电子邮件,因为mailgun使用在"发件人"字段中使用mailgun注册的域来查找电子邮件"信封"地图.

我收到的失败的响应错误消息是:
Server response: 550 postmaster@mg.example.com Sender rejected

我按照mailgun文档中的说明验证了我的域名,并使用了建议的最佳做法,即为我的mailgun电子邮件路由创建'mg'子域.添加文本记录后,我能够通过gmail别名使用smtp方法发送电子邮件,但每当我尝试使用相同的回复地址发送电子邮件时,它都会失败.

经过进一步调查后,我发现当我向gmail帐户发送电子邮件时它没有失败,但当我尝试将电子邮件发送到mydomain.com托管的帐户时,它确实失败了.

R J*_*R J 8

问题是,某些电子邮件服务器将首先检查发件人电子邮件主机名中指定的子域是否具有活动的MX记录.此检查似乎是互联网标准的一部分,存在是为了打击垃圾邮件.但是它被一些但不是所有的电子邮件服务器使用... gmail似乎没有执行此验证,因此电子邮件到gmail地址不会被拒绝.

由于mailgun api会在"发件人"字段中添加使用mailgun注册和验证的域名,因此我的电子邮件被mydomain.com拒绝,因为该子域名没有MX记录.

我通过转到我的DNS并为子域添加MX记录来解决问题,mg.example.com并且一旦传播了记录更改,它就开始工作了.

在验证过程的第四项中,mailgun确实建议为您的域添加MX记录.但是,我的错误似乎是认为附加到根域的MX记录将覆盖子域.还必须为子域设置单独的MX记录.