为具有特定域和子域的“发件人”电子邮件地址添加不同的中继的正确方法是什么?或者换句话说,我做错了什么?如何更改 postfix 配置以使其正常工作?
这是一个内部中继 - 未连接到互联网。目标是:
- 使用“发件人”地址发送电子邮件
*@domainB.com
,*@*.domainB.com
并发送到专用于该域的特殊中继 (smtp.domainB.com
),同时: - 将其他所有内容发送至默认中继。
PS 这是普通的 CentOS 7.7。Postfix 2.10.1。这/etc/postfix/relay_maps
仅适用于域,但不适用于子域:
domainB.com [smtp.domainB.com]:25
.domainB.com [smtp.domainB.com]:25
(...是的,我在更新文件后运行了以下命令:
sudo postmap /etc/postfix/relay_maps
sudo systemctl restart postfix
)
PPS 此外,还添加了以下行/etc/postfix/main.cf
:
sender_dependent_relayhost_maps = hash:/etc/postfix/relay_maps
答案1
您可以选择sender_dependent_relayhost_maps,此选项自 Postfix 2.3 起可用。
因此该选项在 CENTOS 7 上可用
root@test-cs-7 ~]# rpm -qa postfix
postfix-2.10.1-9.el7.x86_64
[root@test-cs-7 ~]# postconf | grep ^sender_dependent_relayhost_maps
sender_dependent_relayhost_maps =
一个非常简单的例子:
在 /etc/postfix/main.cf 末尾添加此部分
sender_dependent_relayhost_maps = pcre:/etc/postfix/sender_dependent_relayhost
创建文件/etc/postfix/sender_dependent_relayhost内容如下:
/^boss@example\.com/ [192.168.8.2]
/^boss@example\.net/ [192.168.8.1]
/^.*@.*\.example\.com/ [192.168.8.3]
/^.*@.*\.example\.net/ [192.168.8.4]
/^.*@example\.net/ [192.168.8.2]
/^.*@example\.com/ [192.168.8.1]
/^.*@example\.net/ [192.168.8.2]
关于选项:
关于价格表: