我們的一位客戶收到了一位客戶拒絕發送的郵件。寄件者的 SPF 記錄為:
v=spf1 +a +mx +ip4:12.34.56.78 ?all
該郵件不是源自 12.34.56.78,但 AFAIU 的「?全部」意味著我的郵件伺服器(後綴)應該接受它。那是對的嗎?
我可以更改我的“/etc/postfix-policyd-spf-python/policyd-spf.conf”以使其接受這些電子郵件嗎?
我應該這樣做嗎?
FWIW py錯誤日誌中的消息是:
Message rejected due to: access neither permitted nor denied.
提前致謝。
更新:
我的 SPF 政策是:
HELO_reject = SPF_Not_Pass
Mail_From_reject = Fail
郵件在 HELO 階段被拒絕,我現在已將其更改為“失敗”。
答案1
該郵件不是源自 12.34.56.78,但 AFAIU 的「?全部」意味著我的郵件伺服器(後綴)應該接受它。那是對的嗎?
是的,但不是應該, 只是故意的
從這裡,你可以看到這Neutral
意味著The SPF record specifies explicitly that nothing can be said about validity
但 postfix 的預設 SPF 策略是:
HELO_reject = SPF_Not_Pass
意味著如果 SPF 檢查未通過(即 Fail、Softfail、Hardfail...),postfix 將拒絕 HELO
即使 SPF 檢查失敗,您也可以變更 postfix SPF 策略以接受電子郵件。
答案2
你走在正確的軌道上。包含「全部」策略只是說明寄件者希望如何處理郵件的偏好。它的實際處理方式由您的系統決定。
您尚未發布您的策略,但您可以透過修改策略將其設定為允許此網域或此條件。
看: http://manpages.ubuntu.com/manpages/lucid/man5/policyd-spf.conf.5.html
請注意,如果無法確定 SPF(例如 SPF 記錄本身的格式錯誤或 DNS 問題),則某些政策條件將拒絕電子郵件。