550验证失败:没有此类用户。使用Mailgun发送邮件到CPanel电子邮件

时间:2017-03-06 15:50:05

标签: email dns cpanel mailgun spf

我正在使用Mailgun创建一个Web服务来发送电子邮件。对于发出的每封电子邮件,它都会为我自己的域名发送电子邮件。假设我的域名是" example.com"。对于发送给客户的每封电子邮件,例如customer1@gmail.com,我会将其内容发送到sales@example.com

目前,域example.com及其电子邮件托管在具有CPanel的服务器上。

在Mailgun中,我添加并验证了域example.com。使用此域名,我已向customer1@gmail.comsales@example.com发送了邮件。电子邮件会毫无问题地发送给Gmail,但是当发送到sales@example.com时,我会收到错误Server response: 550 550 Verification failed for <bounce+e0f051.e0179a-sales=example.com@example.com> No Such User Here

这里令人困惑的是,如果我通过Mailgun发送电子邮件到另一个经过验证的域名,例如anotherexample.com,然后使用此邮件,我会将邮件发送到sales@example.com。电子邮件完好无损,没有错误。

到目前为止,我尝试过的事情:

  • 添加了Mailgun建议的SPF和DKIM
  • 修改SPF以包含我的CPanel服务器的IP(以及Mailgun SPF)
  • 同时删除了SPF和DKIM(一次删除一个)
  • 已确认电子邮件sales@example.com已存在。使用CPanel webmail的界面,我可以很好地发送和接收电子邮件。
  • 尝试更新CPanel MX条目从本地发送电子邮件路由 - &gt;自动 - &gt;远程。 (&#34;本地&#34;效果最好。如果设置为&#34;远程&#34;,电子邮件发送和接收根本不起作用,即使邮件是通过Gmail / Hotmail发送的。)

我目前的MX设置为:

Priority 0: mail.example.com

我在CPanel上的当前区域文件记录:

example.com        A          <some ip>
mail.example.com   A          <same ip as above>

我用来通过Mailgun(Ruby)发送邮件的代码:

mg_client = Mailgun::Client.new 'xxxxxxxxxxx'
message_params = {:from    => from_email,
                  :to      => customer.email,
                  :bcc     => bcc_email,
                  :subject => MessageTemplate.email_subject,
                  :text    => message}
result = mg_client.send_message('example.com', message_params).to_h!

我目前在区域文件中没有SPF和DKIM记录。我已经添加并删除了它们,但它们对错误没有任何影响(对Gmail也一样好)。

我已经把整个事情花在这个,搜索论坛等等但似乎无法找到解决方案。

如果完全相关,我有一个301重定向example.comwww.example.com(其中一个CNAME指向另一个服务器)。但我已经研究过并发现301重定向不会影响电子邮件。

1 个答案:

答案 0 :(得分:0)

我不认为这是发送方问题。您要发送到sales@example.com,但是您收到与bounce+e0f051.e0179a-sales=example.com@example.com相关的错误,这是一个典型的VERP address。现在,VERP地址很好,只要你期待它们。鉴于您显然没有向MailGun提供该显式地址,我假设他们自动生成该地址。我会查看他们的文档,了解他们如何生成返回路径(信封发件人)地址,并覆盖发件人地址(只有sales@example.com),或者在您自己的入站邮件服务器上配置这些VERP地址的处理。