我有一个只允许从某些域inheritance的Postfix设置。 我使用main.cf中的relay_domains标志来完成此操作,并且它会查询mysql以查找允许的域的列表。
relay_domains = mysql:/etc/postfix/mysql_domains.cf
我想添加一个header_checks指令来插入一个自定义标题,根据relay_domains的mysql检查结果来显示哪个域是通过Postfix转发的。 原因是,如果允许的域是.domain.com和收件人的电子邮件地址是[email protected],我想知道哪个.domain.com Postfix在查找parsing。
我有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
在访问表中,PREPEND操作将在您的电子邮件中添加标题。 在这种情况下,这张地图将添加收件人的域名部分。