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

JP *_*oto 6 email linux postfix

我有一个 Postfix 设置,它只允许来自某些域的中继。我使用relay_domainsmain.cf 中的标志完成此操作,并查询 mysql 以查找允许的域列表。

relay_domains = mysql:/etc/postfix/mysql_domains.cf
Run Code Online (Sandbox Code Playgroud)

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

我有 header_checks 工作:

/^From:/i PREPEND X-Relay-Domain: xxx
Run Code Online (Sandbox Code Playgroud)

但我不确定如何捕获域查询的结果并将其用于 header_checks PREPEND。我也可以执行另一个 mysql 查找,header_checks但如果可能的话,我想避免这种情况。

mas*_*oeh 5

也许,您可以使用check_recipient_accessfrom postfix。

smtpd_recipient_restriction = ... 
                      ... 
                      check_recipient_access pcre:/etc/postfix/addheader
                      ...
Run Code Online (Sandbox Code Playgroud)

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

/.+@(.+)/  PREPEND X-Relay-Domain: $1
Run Code Online (Sandbox Code Playgroud)

访问表中,PREPEND 操作将在您的电子邮件中添加标题。在这种情况下,此映射将添加收件人的域部分。


归档时间:

查看次数:

8167 次

最近记录:

10 年,5 月 前