![如何配置 postfix 不中继到本地虚拟域?](https://linux22.com/image/980352/%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE%20postfix%20%E4%B8%8D%E4%B8%AD%E7%BB%A7%E5%88%B0%E6%9C%AC%E5%9C%B0%E8%99%9A%E6%8B%9F%E5%9F%9F%EF%BC%9F.png)
我已经在 Ubuntu 14.04 LTS 上使用 iRedMail 设置了 SMTP 服务器,一切运行顺利。我可以创建新用户并发送电子邮件。
但是我的情况有点复杂:我需要这台服务器代表我的域名“sampledomain.xxx”发送电子邮件,但我使用托管邮件服务来接收电子邮件。我的域 DNS 的 MX 记录设置为与我刚刚设置的 SMTP 服务器不同的 IP。基本上,这应该是一台仅用于发送邮件的 SMTP 服务器。
当我需要使用 SMTP 服务器作为[电子邮件保护]到[电子邮件保护]因为Postfix认为邮件应该在内部中继,但是在虚拟域的邮箱中找不到该地址,因此无法发送电子邮件。
我如何配置 Postfix 以不在内部中继此类电子邮件,而是解析 MX 记录并将其作为经典电子邮件发送?
非常感谢!
答案1
/etc/postfix/main.cf
在文本编辑器中打开你的 postfix 配置文件(通常是)。我喜欢vim
。
$ sudo vim /etc/postfix/main.cf
找到设置的行mydestination
。它可能看起来像这样:
mydestination = $myhostname, localhost.$mydomain, localhost
在该行前面加上 来注释掉该行#
。
# mydestination = $myhostname, localhost.$mydomain, localhost
添加以下行,然后保存文件。
mydestination =
重启 postfix
$ service postfix stop
$ service postfix start
Postfix 将不再尝试将“本地”电子邮件发送到该服务器,而是使用 DNS MX 记录提供的 SMTP 服务器。
答案2
您可能希望仅从 mydestination 列表中排除 $mydomain,即: 如果您的主机名是 .sampledomain.xxx,
mydestination = $myhostname, localhost.$mydomain此设置仍允许接收本地系统通知,例如 root