我们目前正尝试从使用“本地”邮件(交换)服务器转向使用基于云的产品来处理我们所有的自动电子邮件。问题是我们每天发送和接收数千封电子邮件,其正常运行时间非常关键,因此企业不想把所有的鸡蛋都放在一个篮子里,所以如果我们想使用基于云的产品(mailgun),如果出现故障,他们会希望有备份。所以我的问题是:
是否可以将多个 A、TXT 和 CNAME 记录设置为多个 IP 地址,这样如果一个邮件服务器出现故障,我们可以自动从故障转移服务器开始发送电子邮件(而不会被阻止进行反向 DNS 查找)?我知道我们仍然需要调整传入电子邮件的 MX 记录,但短时间(1-2 小时)收不到电子邮件是可以接受的。
这有意义吗?
答案1
因此,如果一个邮件服务器出现故障,我们可以自动从故障转移服务器开始发送电子邮件
您不能(轻易地)让位于不同位置的机器拥有相同的 IP 地址。您不需要“A”记录即可从服务器发送电子邮件。您无法通过更改 DNS 记录来实现故障转移。
重要的是让任何发送电子邮件的服务器都列在您的 SPF TXT 记录中(如果您确实有一个已发布的 SPF)。
如果您指的是 MTA 网关机器(SMTP 消息源自其他机器,在访问世界其他地方之前都通过此服务器路由),那么情况就不同了 - 您可以使用 DNS 来影响它,但不能等待中断来更改记录。SMTP 旨在通过发布具有不同优先级的多个 DNS MX 记录来适应这种情况,客户端应尝试按 MX 优先级排序连接到区域中的每个服务器 - 如果连接失败,则应尝试下一个。实际上,大多数 MUA 不会费心查看主 MX - 但如果客户端是 MTA,那么 IME,这些都表现正常。您还没有告诉我们您的外发电子邮件是如何到达 MTA 的 - 因此很难判断这在实践中是否可行。
抱歉,但你显然不了解 DNS,对 SMTP 也了解甚少。你需要阅读更多资料,而不仅仅是查看这里的答案。
答案2
所以你的问题是双重的:
- 如果一个服务器出现故障,我该如何发送或允许从多个服务器发出邮件?
- 如果一个邮件服务器发生故障,我该如何在邮件服务器之间进行故障转移以接收入站电子邮件?
关于1:
没有什么可以阻止您拥有多台发送电子邮件的服务器。目前,证明您的服务器不是垃圾邮件的主要方法是使用 SPF(发件人策略框架)记录。 您需要做的就是确保两组出站服务器都列在您的 SPF 记录中,然后您就可以开始了(当然,前提是生成电子邮件的内部系统已配置为与两组邮件服务器通信)。此外,如果您有多个 MX 记录,反向 DNS 查找问题就会得到一定程度的解决。
关于2:
您使用了多个 MX 记录:
10 CLOUD.MAIL.SERVER
20 LOCAL.MAIL.SERVER
或其他。如果其中一个服务器未能响应,发件人将尝试另一个服务器,这样您就不会丢失邮件。这里对您来说比较棘手的一点是您的内部系统/用户如何在两者之间切换。您可以为用户设置多个 Outlook 配置文件,或在同一个 Outlook 配置文件中设置多个电子邮件帐户等。如果您的自动发送系统也在接收电子邮件,您需要确保您知道让它们检查每组邮件服务器的过程,或者如何在需要时在两者之间切换。
答案3
这基本上就是辅助或备份 MX 的功能。基本上,您可以设置本地或异地 MX 箱,该 MX 箱能够对邮件进行排队,直到主 MX 箱恢复在线,然后将所有邮件传送到主 MX 箱。
这样,邮件就不会被退回给发件人。无论哪种方式,您都需要主邮箱服务器重新上线才能实际路由和投递邮件。