来自没有 MX 记录的子域的 Mailgun 邮件被一些邮件提供商拒绝

Mailgun messages from subdomain without MX record get rejected by some mail-providers

我想使用 Mailgun 从 Web 应用程序发送电子邮件,发送时事通讯以及交易邮件。

我设置了一个 sudomain "subdomain.domain.tld" 并按照 Mailgun 面板上的指定配置了 DNS,但在该子域接收邮件所需的(可选)MX 记录除外。 这是因为当前 hoster/domain-registrar 不允许为子域设置 MX 记录,只能为主域设置。 他们的支持说“我们不关心这个,处理它”。

我不想配置 Mailgun 使用的主域,因为客户端正在接收由其他服务器处理的主域的常规电子邮件。

当前设置允许我使用带有 "From"-地址 "mail@domain.tld" 的 mailgun 向大多数主要电子邮件提供商发送邮件,包括 Gmail、Yahoo 和 Hotmail。 然而,邮件会被某些提供商拒绝(例如 mail.ru、freenet.de 或 arcor.de),并显示如下错误消息:

<bounce+gibberish-user@=provider@subdomain.domain.tld>: Sender address rejected: Domain not found

其他提供商的消息略有不同,但指向相同的问题:

在我看来,邮件被拒绝是因为缺少 subdomain.domain.tld 的 MX 记录,如退回地址中所用。

如何在不将整个域移动到另一个允许我更改子域的 MX 记录的注册商的情况下解决这个问题? 我真的很想避免这种情况。

是否可以将 mailgun 配置为使用独立于我的 MX 记录而实际有效的不同退回地址? 例如 bounce-gibberish-mydomain-tld@mailgun.com 而不是 bounce-gibberish@mydomain.tld?

三种可能的解决方案,按优先顺序排列:

  1. 查找其他 DNS 提供商,这将允许您将 MX 放在子域上。请注意,这不一定要求您更改注册商。

  2. 将您的基域与 mailgun 一起使用,也许利用它们的转发功能将收到的邮件发送给托管您邮箱的任何人。

  3. 使用 mailgun 以外的其他人,这将允许将退回地址设置为他们的域而不是您的域。

我运行遇到了同样的问题。就我而言,我使用 Office 365 接收电子邮件,使用 Mailgun 发送电子邮件。这是我的 Mailgun 子域 mg.{name}.com 的 DNS 配置,它解决了问题:

email               IN CNAME   mailgun.org.
email.mg            IN CNAME   mailgun.org.
mg                  IN CNAME   mailgun.org.
@                   IN MX 0    {name}-com.mail.protection.outlook.com.
@                   IN MX 10   mxb.mailgun.org.
@                   IN MX 10   mxa.mailgun.org.
@                   IN TXT     "v=spf1 include:spf.protection.outlook.com include:mailgun.org ~all"
krs._domainkey.mg   IN TXT     "k=rsa; p={insert the value from mailgun here}"

一件非常重要的事情是,您的配置中不能有两条 SPF 行。我不得不合并这两行...

@    IN TXT "v=spf1 include:spf.protection.outlook.com -all"
@    IN TXT "v=spf1 include:mailgun.org ~all"

合二为一...

@    IN TXT "v=spf1 include:spf.protection.outlook.com include:mailgun.org ~all"

我的设置:

  • 为 gmail 设置根 MX。发送和接收为@mydomain.com
  • 添加了 mailgun 并以@mg 的形式发送。mydomain.com
  • 在将 mailgun 发送到某些电子邮件提供商(例如 sbcglobal.net)时出现退回,因为正如 mailgun 所说,如果我已经将另一个电子邮件服务设置为使用 MX 记录,请不要添加 MX 记录。

我的修复:

  • 已联系 godaddy 支持。他们告诉我可以为我的子域添加更多 MX 记录。而不是 MX @ mxa.mailgun ,它是 MX mg mxa.mailgun

希望对您有所帮助。