来自没有 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?
三种可能的解决方案,按优先顺序排列:
查找其他 DNS 提供商,这将允许您将 MX 放在子域上。请注意,这不一定要求您更改注册商。
将您的基域与 mailgun 一起使用,也许利用它们的转发功能将收到的邮件发送给托管您邮箱的任何人。
使用 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
希望对您有所帮助。
我想使用 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?
三种可能的解决方案,按优先顺序排列:
查找其他 DNS 提供商,这将允许您将 MX 放在子域上。请注意,这不一定要求您更改注册商。
将您的基域与 mailgun 一起使用,也许利用它们的转发功能将收到的邮件发送给托管您邮箱的任何人。
使用 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
希望对您有所帮助。