我对这个有点着迷。所以有人可能会帮助我消除疑虑。
在我的公司我已经建立了两个电子邮件服务器。
mx1.example.com (现场) mx2.example.com (远程 vps)
都带有 postfix 和 dovecot。PTR/rDNS 记录和静态 IP。
配置完全相同。
mx1 运行完美。但由于某种原因,有些电子邮件发送到 mx2。
我们必须准时收到每封电子邮件。我知道大多数情况下,垃圾邮件都会发给 mx2。尽管 mx2 具有与 mx1 相同的垃圾邮件策略。我们的一些客户电子邮件也是如此,这是不需要的。但不幸的是,我还没有找出原因。
我的 DNS 记录:
记录类型 主机值 ttl 优先级
A mx1 xxx.xxx.xxx.xx1 自动 A mx2 xxx.xxx.xxx.xx2 自动
CNAME 邮件 mx1.example.com 自动
MX @ mx1.example.com 1 分钟 10 MX @ mx2.example.com 1 分钟 20
基本上,我希望我们的电子邮件客户端(outlook 2010)在无法访问 mx1 时连接到 mx2。因为我认为当无法访问 mx1 时,mx2 将收到所有电子邮件。我不希望 mx2 存储所有电子邮件并在重新上线时将其传递给 mx1。
当我添加记录:CNAME mail mx2.example.com 自动
例如,从 viewdns.info 检查我的 DNS。我的邮件服务器一直在从 mx1 变为 mx2,反之亦然。我们实际上收不到任何电子邮件。直到我 cmd -> ipconfig /flushdns 并在客户端上重新启动 Outlook。但随后所有电子邮件都会重复。另一个问题是,每当 mx1 关闭时,我们的 Outlook 有时似乎会连接到 mx2,但由于自签名 ssl 证书而收不到任何电子邮件,该证书与 mx1 上的完全相同且已被接受和安装。
我也尝试将两个 mx 设置为相同的优先级,但这并不是我真正想要的。我不需要负载平衡/循环。因为看起来,该电子邮件客户端没有连接到 mx1 和 mx2 之后才收集所有电子邮件。
我想要的是:如果 mx1 关闭,所有邮件都会发送到 mx2。并且我们的电子邮件客户端也会连接到 mx2。这可能吗?
提前感谢你的帮助!问候,乔
编辑:也许有 2 个 A 记录指向 xxx.xxx.xxx.xx1 和 xxx.xxx.xxx.xx2,但作为主机 mx1???
答案1
恐怕你做错了。你的备份 MX 应该只用于存储转发。客户端永远都不应该连接到该服务器。MX 用于高可用性邮件传递,而不是为邮件客户端提供服务。配置你的备份 MX 以将邮件传递到你的主 MX,你的问题就会消失。
正如您所发现的,许多 MTA 并不尊重 MX 优先级。除了确保邮件在到达的任何地方都能正常投递外,您能做的非常少。
至于为您的客户提供高可用性邮箱服务器,那是完全不同的问题,需要将其视为与您的 MX 问题不同的目标。
答案2
由于多种原因,我从来都不喜欢备用 MX 的想法,其中最主要的是您的缘故。
此外,RFC 5321 的第 4.5.4.1 节使得备份 MX 完全没有必要。-https://www.rfc-editor.org/rfc/rfc5321#section-4.5.4.1
答案3
解决方案是在前面安装一个像 haproxy 这样的负载均衡器,甚至可以使用浮动 IP