2.4. 将 Postfix 配置为将所有电子邮件转发到邮件中继
如果要将所有电子邮件转发到邮件中继,您可以将 Postfix 服务器配置为 null 客户端。在此配置中,Postfix 仅将邮件转发到不同的邮件服务器,且无法接收邮件。
先决条件
- 您有 root 访问权限。
-
您的服务器上已安装了
postfix
软件包。 - 您有要将电子邮件转发到的中继主机的 IP 地址或主机名。
流程
要防止 Postfix 接受任何本地电子邮件发送并使其成为 null 客户端,请编辑
/etc/postfix/main.cf
文件,并进行以下更改:通过将
mydestination
参数设置为空值,将 Postfix 配置为转发所有电子邮件:mydestination =
在此配置中,Postfix 服务器不是任何电子邮件的目的地,并充当 null 客户端。
指定从您的 null 客户端接收电子邮件的邮件中继服务器:
relayhost = <[ip_address_or_hostname]>
中继主机是负责邮件发送的。将
<ip_address_or_hostname>
括在方括号中。将 Postfix 邮件服务器配置为仅侦听要发送的电子邮件的回环接口:
inet_interfaces = loopback-only
如果您希望 Postfix 将所有传出电子邮件的发件人域重写为中继邮件服务器的公司域,请设置:
myorigin = <relay.example.com>
要禁用本地邮件发送,请在配置文件末尾添加以下指令:
local_transport = error: local delivery disabled
添加
mynetworks
参数,以便 Postfix 将来自 127.0.0.0/8 IPv4 网络和 [::1]/128 IPv6 网络的本地系统的邮件转发到邮件中继服务器:mynetworks = 127.0.0.0/8, [::1]/128
验证
main.cf
文件中的 Postfix 配置是否正确:$ postfix check
重启
postfix
服务以应用更改:# systemctl restart postfix
验证
验证电子邮件通信是否被转发到邮件中继:
# echo "This is a test message" | mail -s <SUBJECT> <user@example.com>
故障排除
-
如果出现错误,请检查
/var/log/maillog
文件。
其他资源
-
/etc/postfix/main.cf
配置文件