linux – 使用中继域向Postfix添加自定义标头

我有一个Postfix设置,只允许来自某些域的中继.我使用main.cf中的relay_domains标志完成此操作,并查询 mysql以查找允许的域列表.
relay_domains = MysqL:/etc/postfix/MysqL_domains.cf

我想添加一个header_checks指令,根据relay_domains的MysqL检查结果插入一个自定义头,这将显示哪个域是通过Postfix中继的.这样做的原因是,如果允许的域名是.domain.com,收件人的电子邮件地址是someone@subdomain.domain.com,我想知道哪个.domain.com Postfix在查找中解析了.

我有header_checks工作:

/^From:/i PREPEND X-Relay-Domain: xxx

但我不知道如何捕获域查询的结果并将其用于header_checks PREPEND.我还可以在header_checks上执行另一个MysqL查找,但是我想尽可能避免这种情况.

解决方法

也许,您可以使用postfix中的check_recipient_access.
smtpd_recipient_restriction = ... 
                      ... 
                      check_recipient_access pcre:/etc/postfix/addheader
                      ...

文件/ etc / postfix / addheader有这样的内容

/.+@(.+)/  PREPEND X-Relay-Domain: $1

access表中,PREPEND操作会在您的电子邮件添加标题.在这种情况下,此地图将添加收件人的域部分.

相关文章

insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...