![将电子邮件指向主机 A,将网站指向主机 B(无需主机提供的 MX 记录)](https://linux22.com/image/713544/%E5%B0%86%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6%E6%8C%87%E5%90%91%E4%B8%BB%E6%9C%BA%20A%EF%BC%8C%E5%B0%86%E7%BD%91%E7%AB%99%E6%8C%87%E5%90%91%E4%B8%BB%E6%9C%BA%20B%EF%BC%88%E6%97%A0%E9%9C%80%E4%B8%BB%E6%9C%BA%E6%8F%90%E4%BE%9B%E7%9A%84%20MX%20%E8%AE%B0%E5%BD%95%EF%BC%89.png)
我正在将网站从主机 A 迁移到主机 B,但将电子邮件保留在主机 A 上。一个复杂之处在于主机 A 不提供常规 MX 记录;他们只使用裸域(我知道这不是理想的选择,但这就是我正在使用的方式)。以下是现在的 DNS 设置:
somedomain.com 60 IN NS ns-01.dns.etc.com
somedomain.com 60 IN NS ns-02.dns.etc.com
somedomain.com 60 IN NS ns-03.dns.etc.com
somedomain.com 3600 IN TXT "v=spf1 a include:_spf.qwerty.com ~all"
somedomain.com 3600 IN MX 10 somedomain.com // not good
somedomain.com 3600 IN A 192.0.2.10
ftp.somedomain.com 3600 IN CNAME somedomain.com
localhost.somedomain.com 3600 IN A 127.0.0.1
www.somedomain.com 3600 IN CNAME somedomain.com
news.somedomain.com 3600 IN CNAME somedomain.com
imap.somedomain.com 3600 IN CNAME somedomain.com
mail.somedomain.com 3600 IN CNAME somedomain.com
pop.somedomain.com 3600 IN CNAME somedomain.com
smtp.somedomain.com 3600 IN CNAME somedomain.com
原则上,以下内容是否会将电子邮件和网络流量引导至各自的目的地?
somedomain.com 60 IN NS ns-01.dns.etc.com
somedomain.com 60 IN NS ns-02.dns.etc.com
somedomain.com 60 IN NS ns-03.dns.etc.com
somedomain.com 3600 IN TXT "v=spf1 a include:_spf.qwerty.com ~all"
somedomain.com 3600 IN MX 10 mx-01.somedomain.com // in lieu of a proper MX record
somedomain.com 3600 IN A 192.0.2.20 // points site traffic to new hosting
mx-01.somedomain.com 3600 IN A 192.0.2.10 // points email to old hosting
ftp.somedomain.com 3600 IN CNAME somedomain.com
localhost.somedomain.com 3600 IN A 127.0.0.1
www.somedomain.com 3600 IN CNAME somedomain.com
news.somedomain.com 3600 IN CNAME somedomain.com
imap.somedomain.com 3600 IN CNAME mx-01.somedomain.com
mail.somedomain.com 3600 IN CNAME mx-01.somedomain.com
pop.somedomain.com 3600 IN CNAME mx-01.somedomain.com
smtp.somedomain.com 3600 IN CNAME mx-01.somedomain.com
答案1
下列:
somedomain.com 3600 IN MX 10 somedomain.com
向邮件传输代理 (MTA) 指示邮件发往 somedomain.com(例如:[电子邮件保护]) 应在 somedomian.com 上查找正在运行的邮件服务器。这将导致查找 A 记录,并返回 IP。
在您的第二份声明中:
somedomain.com 3600 IN MX 10 mx-01.somedomain.com // in lieu of a proper MX record
somedomain.com 3600 IN A 192.0.2.20 // points site traffic to new hosting
mx-01.somedomain.com 3600 IN A 192.0.2.10
您正在指示 MTA 查看 mx-01.somedomain.com 以查找处理[电子邮件保护],然后它会查找该 A 记录,然后查找相应的 IP。所以是的,这应该可以按预期工作。您甚至可以输入 IP 地址而不是名称,但使用名称作为 A 记录是一个好主意和最佳做法。
如果您不确定,您应该对此进行测试。首先购买开发域并使用相同的服务器设置为其设置 DNS 记录,并确保电子邮件在测试环境中正确路由,然后再调整生产。还请记住,大多数 MTA 会在一定时间内重试(通常为 4 小时),然后才会报告故障并退回电子邮件。这为您提供了迁移邮件服务器的窗口。