使用中繼域為 Postfix 新增自訂標頭

使用中繼域為 Postfix 新增自訂標頭

我有一個 Postfix 設置,只允許來自某些網域的中繼。我使用relay_domainsmain.cf 中的標誌來完成此操作,它會查詢 mysql 以查找允許的網域清單。

relay_domains = mysql:/etc/postfix/mysql_domains.cf

我想新增一條header_checks指令來根據 mysql 檢查的結果插入自訂標頭,relay_domains該標頭將顯示透過 Postfix 中繼的網域。原因是如果允許的網域是 .domain.com 並且收件者電子郵件地址是[電子郵件受保護],我想知道 Postfix 在查找中解析為哪個 .domain.com。

我已經讓 header_checks 工作了:

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

但我不確定如何捕獲網域查詢的結果並將其用於 header_checks PREPEND。我還可以執行另一個 mysql 查找,header_checks但如果可能的話我想避免這種情況。

答案1

也許,你可以使用check_recipient_accesspostfix。

smtpd_recipient_restriction = ... 
                      ... 
                      check_recipient_access pcre:/etc/postfix/addheader
                      ...

文件/etc/postfix/addheader內容如下

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

使用權表中,PREPEND 操作將在您的電子郵件中新增標頭。在這種情況下,此對應將新增收件者的網域部分。

相關內容