我在装有 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。
任何帮助将非常感激。