我最近在我的 VPS 上設定了自己的郵件伺服器(CentOS、postfix 和 dovecot,儘管我不認為其中任何一個是相關的)。我用這個 SPF 記錄保護它
v=spf1 mx a ip4:xx.xx.xx.xx/32 -all
其中 xx.xx.xx.xx 是我家的 IP 位址。
這通常有效,但我無法向一位收件者發送郵件。我得到如下彈跳:
Reporting-MTA: dns; mdfmta004.tbr.inty.net
X-Postfix-Queue-ID: 5016BA0C08A
X-Postfix-Sender: rfc822; (my email address)
Arrival-Date: Tue, 17 May 2016 13:51:34 +0100 (BST)
Final-Recipient: rfc822; (destination email address)
Original-Recipient: (destination email address)
Action: failed
Status: 5.0.0
Remote-MTA: dns; mxa.speednames.com
Diagnostic-Code: smtp; 550 "Mail from (my domain) is denied from host
91.221.168.45 SPF"
它拒絕來自 91.221.168.45 的郵件是很公平的,因為該 IP 位址與我的 SPF 記錄不符。但該位址解析為 mdfmta004.mxout.tbr.inty.net:它與拒絕它的 MTA 位於同一域中。
誰能向我解釋一下我必須做什麼才能發送給這個收件人?
答案1
在定義誰可以代表您的網域發送時,SPF 是一個很好的工具。不幸的是,在轉發電子郵件時存在一個問題。
假設您的郵件伺服器是 A。當 B 上的收件者決定將郵件轉寄到伺服器 C 上的另一個郵件帳號時,將在 C 收到電子郵件時評估 SPF 記錄。通常,轉發電子郵件時不會更改寄件者地址。因此,郵件伺服器 C 將檢查 B 是否有權代表您的網域發送郵件。
基本上,您可以執行以下操作:
1) 與收件人交談並讓他意識到問題。除了轉送之外,在 C 上設定輪詢以查看 B 上的郵箱可能是一種選擇
2) 如果收件者是您無法要求變更的人,並且您需要經常向他們發送電子郵件,您可以將郵件伺服器 B 新增到您的 SPF 記錄中。這意味著你相信B永遠不會濫用那個星座。這在 SPF 上下文中稱為「可信任轉發器」。
像我公司這樣的商業服務 - 請參閱http://spf.guru/- 允許監控 SPF 並了解誰在代表您發送郵件。