![如何設定 postfix 僅檢查我想要檢查的網域的 SPF 記錄](https://rvso.com/image/668048/%E5%A6%82%E4%BD%95%E8%A8%AD%E5%AE%9A%20postfix%20%E5%83%85%E6%AA%A2%E6%9F%A5%E6%88%91%E6%83%B3%E8%A6%81%E6%AA%A2%E6%9F%A5%E7%9A%84%E7%B6%B2%E5%9F%9F%E7%9A%84%20SPF%20%E8%A8%98%E9%8C%84.png)
我有工作後綴伺服器。它使用 amavis 進行配置,並使用相當好的 SMTP 標頭控制。但有時我的用戶會收到來自垃圾郵件發送者的具有知名郵件服務提供者地址的垃圾郵件。例如:@gmail.com @yahoo.com 等。當然,他們從非法伺服器發送垃圾郵件,但具有正確的 DNS 記錄(A 和 PTR)和 EHLO 標頭。伺服器無法拒絕此郵件。
所以,我不想因為假|陽性而使用 rbl。而且我不想因為超時而使用灰名單。
我想使用 SPF 檢查,但僅限於來自已知網域的郵件。我知道該網域有正確的 SPF 記錄。
我知道有 2 個 SPF 守護程式(policyd-spf-perl 和policyd-spf-python),但它們似乎沒有這樣的功能。
所以我的問題是:是否可以只檢查特定網域清單的 SPF 記錄?
答案1
是的你可以
看看postfix的例子SMTP 存取策略委派其中顯示您可以啟用來自頻繁偽造的網域的灰名單。它用來smtpd_restriction_classes
實現它。
所以你可以用這個案例來滿足你的場景
# /etc/postfix/main.cf:
smtpd_recipient_restrictions =
reject_unlisted_recipient
...
reject_unauth_destination
check_sender_access hash:/etc/postfix/sender_access
...
smtpd_restriction_classes = spfcheck
spfcheck = check_policy_service unix:private/spfcheck
# /etc/postfix/sender_access:
aol.com spfcheck
hotmail.com spfcheck
bigfoot.com spfcheck
... etcetera ...