【问题标题】:Mailgun messages from subdomain without MX record get rejected by some mail-providers来自没有 MX 记录的子域的 Mailgun 消息被某些邮件提供商拒绝
【发布时间】:2026-01-06 23:40:01
【问题描述】:

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

我设置了一个子域“subdomain.domain.tld”并按照 Mailgun 面板上的指定配置了 DNS,除了在该子域接收邮件所需的(可选)MX 记录。 这是因为当前的托管商/域注册商不允许为子域设置 MX 记录,仅针对主域。 他们的支持说“我们不在乎这个,处理它。”。

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

当前设置允许我使用带有“发件人”地址“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?

【问题讨论】:

    标签: email dns subdomain mailgun mx-record


    【解决方案1】:

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

    1. 找到一个不同的 DNS 提供商,这将允许您将 MX 放在子域上。请注意,这并不一定要求您更改注册商。

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

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

    【讨论】:

    • 谢谢。正如我所担心的,似乎没有一个简单的解决方案。我想知道,从“无痛”到“痛苦-*-ss”的范围内,切换 DNS 提供商的过程在哪里?现有条目是否会自动复制?可能会涉及停机时间吗?
    • 一般来说,您将首先自己复制条目,然后并且只有这样,才能更改名称服务器。这不是自动发生的事情,而是您需要做的事情。只要您首先在新名称服务器上设置记录,就不会出现任何停机时间。
    • 对我来说最简单的方法是使用基域而不是子域
    • Digital Ocean 案例的有趣文章在这里:moandjiezana.com/blog/2016/mailgun-on-digital-ocean
    • 子域上 Dreamhost MX 记录的解决方法:discussion.dreamhost.com/t/mx-records-for-non-hosted-subdomain/…
    【解决方案2】:

    我的设置:

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

    我的解决方法:

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

    希望这会有所帮助。

    【讨论】:

    • “它是 MX mg mxa.mailgun”?它的 mg.mxa.mailgun 还是什么?
    • 类型:MX 名称:mg 值:mxa.mailgun
    • 一些域名提供商还尝试通过提供“Gmail”预定义 MX 条目来简化操作,但这限制了为这些 mailgun 子域添加额外 MX 记录的能力。只需打开自定义 MX 设置,您就可以在 @root 中添加 Gmail,在 mg 中添加 Mailgun
    【解决方案3】:

    我遇到了同样的问题。就我而言,我使用 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"
    

    【讨论】:

    • 对于不同的子域有 2 条 spf 行是否重要?例如,我有一个子域mailer 和另一个在根。这是个问题吗?
    • 抱歉,回复晚了。就我而言,这确实很重要,也许这取决于 DNS 提供商本身。
    • 让您的 MX 记录同时指向 Outlook 和 mailgun 是没有意义的。这可能会错误地路由您的传入邮件
    最近更新 更多