配置 Postfix 根据收件人 MX 记录路由到特定 IP

配置 Postfix 根据收件人 MX 记录路由到特定 IP

我在装有 Ubuntu 12.04 的 VPS 上运行 Postfix,该服务器有多个 IP 地址。

我想配置 Postfix,以便它根据收件人电子邮件域的 MX 记录路由通过其中一个 IP 发送邮件。

例如,如果我要发送电子邮件至[电子邮件保护],假设该域名使用 Google 的 MX 记录(例如 aspmx.l.google.com、aspmx2.googlemail.com)。应该有一条规则规定,如果活动的 MX 记录包含域名 google.com,那么它将路由到我指定的 IP。

我知道如果为特定域定义规则就可以做到这一点,但我没有找到太多基于 MX 记录进行路由的有用信息。

有人提到应该可以通过使用 check_recipient_mx_access 并将其放在 smtpd_recipient_restrictions 中来做到这一点,但它似乎不起作用:

这是我迄今为止实施的:

smtpd_recipient_restrictions = check_recipient_mx_access hash:/etc/postfix/mx_access,permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination

然后我创建了一个名为 mx_access 的文件并添加了以下规则:

.google.com       gmail
.googlemail.com   gmail

然后在 master.cf 中,我添加了以下几行:

gmail      unix  -       -       -       -       -       smtp
-o smtp_bind_address=insert_ip_here

当我向使用 Gmail 邮件服务器的电子邮件地址发送测试电子邮件时,它来自主服务器 IP,而不是我指定的 IP。

任何帮助将非常感激。

相关内容