Postfix
後綴:如何通過 SMTP 強制 IPv4?
問題
我已經成功地設置了一個帶有 SMTP 介面的 Postfix 郵件伺服器,設置了 DKIM、DMARC、SPF 等等。
但是在測試向 Gmail 發送電子郵件時遇到了問題。
即,如果我通過
sendmail
伺服器的命令發送 SPF(ARC-Authentication-Results
Gmail 中已傳遞郵件的某些標頭內容),則 SPF 將通過:spf=pass (google.com: domain of redacted@example.com designates xxx.xxx.xxx.xxx as permitted sender) smtp.mailfrom=redacted@example.com;
xxx.xxx.xxx.xxx
伺服器的 IPv4 地址在哪裡但是如果我使用 SMTP 連接到伺服器並以這種方式發送它會失敗:
spf=fail (google.com: domain of redacted@example.com does not designate yyyy:yyyy:yyyy:yyyy:yyyy:yyyy:yyyy:yyyy as permitted sender) smtp.mailfrom=redacted@example.com;
yyyy:yyyy:yyyy:yyyy:yyyy:yyyy:yyyy:yyyy
伺服器的 IPv6 地址在哪裡。使固定
我意識到 SPF DNS 記錄只是為 IPv4 地址設置的,所以我將它設置為它也適用於 IPv6,它開始傳遞為
spf=pass (google.com: domain of redacted@example.com designates xxx.xxx.xxx.xxx as permitted sender) smtp.mailfrom=redacted@example.com;
xxx.xxx.xxx.xxx
伺服器的IPv4地址在哪裡(奇怪)問題
- 通過 SMTP 發送時有沒有辦法強制 IPv4?現在大多數機器都應該處理 IPv6,但如果它在我不想的時候不接觸 IPv6,我會更高興。
- 由於 SPF DNS 記錄中不存在 IPv6 而導致它失敗之前怎麼可能,但現在在我添加 IPv6 後它通過 IPv4 傳遞?
如果需要知道任何設置,請告訴我。配置文件有很多行,因此將它們全部發布是不切實際的。
它很簡單
postconf -e "inet_protocols = ipv4"
但正如評論中所說,沒有什麼能阻止您通過 ipv6 修復您的 dns/SPF。問候。