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

Email 来自子域且没有MX记录的Mailgun邮件被某些邮件提供商拒绝,email,dns,subdomain,mailgun,mx-record,Email,Dns,Subdomain,Mailgun,Mx Record,我想使用Mailgun从web应用程序发送电子邮件,发送时事通讯以及事务性邮件 我设置了一个sudomain“subdomain.domain.tld”,并按照Mailgun面板上的指定配置了DNS,但在该子域接收邮件所需的(可选)MX记录除外。 这是因为当前的主机/域注册器不允许为子域设置MX记录,而只允许为主域设置MX记录。 他们的支持是这样的:“我们不在乎这个,处理它。” 我不想配置Mailgun使用的主域,因为客户端正在接收由其他服务器处理的主域的常规电子邮件 当前设置允许我使用带有“发

我想使用Mailgun从web应用程序发送电子邮件,发送时事通讯以及事务性邮件

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

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

当前设置允许我使用带有“发件人”-地址的邮枪发送邮件mail@domain.tld大多数主要的电子邮件提供商,包括Gmail、雅虎和Hotmail。 但是,一些提供商(如mail.ru、freenet.de或arcor.de)会拒绝这些邮件,并显示如下错误消息:

<bounce+gibberish-user@=provider@subdomain.domain.tld>: Sender address rejected: Domain not found
:发件人地址被拒绝:找不到域
其他提供者的消息略有不同,但都指向相同的问题:

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}"
  • 发件人地址[…]的域不存在
  • 无法路由的邮件域,验证跳出失败
  • 不可导出的发件人地址
在我看来,邮件被拒绝是因为subdomain.domain.tld的MX记录丢失,正如在跳出地址中使用的那样

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

是否可以将mailgun配置为使用与我的MX记录无关的实际有效的不同跳出地址?
例如,弹跳乱七八糟的mydomain-tld@mailgun.com而不是反弹-gibberish@mydomain.tld?三种可能的解决方案,按优先顺序排列:

  • 找到另一个DNS提供商,它将允许您在子域上放置MX。请注意,这并不一定要求您更改注册器

  • 通过mailgun使用您的基本域,也许可以利用它们的转发功能将传入邮件发送给您邮箱的宿主

  • 使用mailgun以外的其他人,这将允许将跳出地址设置为他们的域,而不是您的域


  • 我遇到了同样的问题。就我而言,我使用Office 365接收电子邮件,使用邮枪发送电子邮件。这是我的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的形式发送
    • 在向某些电子邮件提供商(如sbcglobal.net)发送mailgun邮件时获得反弹,因为正如mailgun所说,如果我已经设置了另一个使用MX记录的电子邮件服务,请不要添加MX记录
    我的解决方案:

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

    希望这有帮助。

    谢谢。正如我所担心的,似乎没有一个简单的解决办法。我想知道,从“无痛”到“痛苦中的痛苦”——*ss,切换DNS提供商的过程在哪里?现有条目是否自动复制?可能会导致停机吗?一般来说,您会先自己复制条目,然后(也只有在那时)更改名称服务器。这不是自动发生的事情,而是你需要做的事情。只要您先在新的命名服务器上设置记录,您就不应该有任何停机时间。对我来说,最简单的方法是使用基本域,而不是使用子域Digital Ocean的有趣文章案例:子域上Dreamhost MX记录的解决方法:如果您有两个spf行用于不同的子域,这有关系吗??例如,我在一行中为一个子域
    mailer
    添加了on,在根中添加了另一个。这是个问题吗?对不起,我反应太晚了。在我看来,这很重要,也许这取决于DNS提供商本身。让你的MX记录同时指向outlook和mailgun是没有意义的。这可能会错误地路由您的传入邮件“这是MX mg mxa.mailgun”?它的mg.mxa.mailgun还是什么?Type:MX Name:mg Value:mxa.mailgun一些域名提供商也试图通过提供“Gmail”预定义的MX条目来简化操作,但这限制了为这些mailgun子域添加额外MX记录的能力。只需打开自定义MX设置,您就可以在@root添加Gmail,在mg添加Mailgun