
我們為新聞通訊使用外部商業 smtp 伺服器(透過 .NET 元件發送),它們提供兩個 smtp URL - smtp.critsend.com 和 fast.critsend.com -,第二個保留用於發送單一電子郵件,第一個為批量。
使用 nslookup 顯示兩者都解析為相同的 4 個 IP 位址(fast.critsend.com 是別名)。
問題:(如何)smtp中繼是否可以區分不同的名稱?標頭中是否有一些內容可以與http協定中的主機標頭進行比較(我沒有找到任何非系統管理員可以理解的資訊)?
我問這個問題的原因是因為我們想在新聞通訊腳本中使用 IP 之一(可以使用)而不是名稱(以便保存 DNS 請求),並且我們想知道潛在的問題。
答案1
您使用 nslookup 看到的 4 個 IP 位址可能只是使用循環 dns 進行故障轉移/負載平衡的網路的網關伺服器。
這些網關將中繼到不同的“後端”,真正確定是否發生這種情況的唯一方法是向自己發送測試電子郵件並檢查電子郵件標頭(除非他們在清除內部標頭方面做得很好) ,並查看使用不同的伺服器發送電子郵件。
答案2
SMTP 請求中未使用目標伺服器名稱。沒有與 HTTPHost:
標頭等效的內容。
如果您想使用 IP 位址而不是 DNS 名稱,我建議您與電子郵件服務提供者聯繫,以驗證他們希望您使用哪個 IP 位址。 (並且,為了 $DEITY 的緣故,不要對 IP 位址進行硬編碼 - 使用設定檔或將其放入 中/etc/hosts
,並在下次運行之前再次驗證!)
避免多次命中 ISP 的 DNS 伺服器的另一種方法是設定本機 DNS 解析器,而不是使用 ISP 的解析器。