Domain-Name-System
正確配置 DNS 以在多域託管 VPS 上發送電子郵件
背景
我有一個 VPS,有一個外部 IP 託管 <10 個域 (DOMAIN.TLD)。每個域都接收和發送電子郵件。每個域都有關聯的 DKIM / SPF / MX 條目。PTR 記錄存在並與 VPS 上的主域 (MAINDOMAIN.TLD) 相關聯。
問題
- 對於某些收件人,郵件最終會進入垃圾郵件文件夾(雅虎),而其他人(outlook)根本不會收到郵件。Gmail(以及其他託管在 one.com 等不同託管服務提供商的電子郵件)會立即收到收件箱。
- 對於如何配置每個域的 DNS 與電子郵件有關,沒有一個清晰的想法。
到目前為止我所做的
最初(未測試的仍然有),每個域都有一個 A 記錄 (mail.domain.tld ) 和一個指向 A 記錄的 MX 記錄,但沒有與 VPS IP 關聯的 PTR。電子郵件發送有效,但我遇到了問題 #1
A -> MAIL -> VPS_IP MX -> 10 -> MAIL.DOMAIN.TLD.
在了解並設置 PTR 記錄後(這是一些電子郵件伺服器忽略我的電子郵件,因此沒有收到它們的主要原因),我考慮將每個域 MX 記錄指向 PTR 解析的域(MAINDOMAIN.TLD -> VPS_IP)。我嘗試使用 CNAME 指向,然後直接使用 MX 指向。
CNAME -> MAIL -> MAINDOMAIN.TLD. MX -> 10 -> MAIL.DOMAIN.TLD.
進而
MX -> 10 -> MAINDOMAIN.TLD.
在這兩種情況下,我遇到的情況與問題 #1 中描述的情況相同。
問題
- 設置有什麼問題?
- 解決此問題的最佳方法是什麼 - 讓所有域使用 MAINDOMAIN.TLD 作為 MX(通過 CNAME 或直接?)或讓所有域使用自己的域作為 MX?(我認為第一個變體是可行的,因為 PTR 記錄以及我只有一個外部 IP 地址的事實 - 但我不明白為什麼它不起作用)
- 是否有任何免費且可靠(想要太多?)的外部電子郵件提供商可以處理電子郵件發送而不是自己做?
可能相關的附加資訊
- 我如何知道 DNS 記錄是否符合我的描述 - 使用 linux cli 工具,如 host、dig、nslookup + https://mxtoolbox.com/
- 我使用 ISPconfig3 作為主機控制面板
- VPS 是從 DigitalOcean 購買的,DNS 管理在 DigitalOcean 儀表板中完成
- SMTP 伺服器是後綴
- 我的 IP 沒有被列入黑名單 - 檢查 https://mxtoolbox.com/SuperTool.aspx?action=blacklist ;mail-blacklist-checker.online-domain-tools.com/
- /var/log/mail.log 中沒有任何相關資訊 - 表明正在發送電子郵件,但沒有任何與答案相關的內容
簡單的好方法
聘請優秀的郵政主管和主持人,他們可以快速輕鬆地解決您所有的菜鳥錯誤(很多)
艱難而榮耀的方式
RTFM,成為稱職的郵政局長和主持人,做正確的事(tm)
您目前的(相關和不相關的)錯誤
- 永遠不要將 MX 指向 CNAME,只指向 A
@ MX mail mail CNAME some.name
不好
@ MX mail mail A some.ip.here
很好,即使
some.ip.here
在任何|所有域中共享
- MX 配置(任何)與您無法投遞的電子郵件無關:對於極端偏執的檢查(但仍符合 RFC)僅適用於域的 MX:1)必須存在 2)可解析為可路由 IP
- 接收方所有與 IP 相關的測試包括(AFAICR,我已經離開 *master 業務很長時間了),最大限度地(我在我的 MXes 上完成了它):
- Pure hostmaster area : Paranoid IP-check (IP1-hostname-IP2) for connected IP, all resolves must be successful and IP1=IP2
- 混合 2 個區域:EHLO(HELO) 參數中的主機名(與 SMTP 相關的配置)必須是可解析的(DNS 遊戲)(只能解析為任何真實 IP,它也符合 RFC)並且不能與電子郵件的域相關聯以任何方式或發射器的主機名(但在目前蹩腳的世界中,使用您的 VPS 的主機名會更安全)
- 垃圾郵件過濾可以(很可能)是內容分析的結果,與您的 DNS 設置沒有直接關係
考慮像 MimeCast 這樣的郵件過濾公司——他們需要為數千個域發送和接收郵件。您的問題是他們設置的一個小版本。
- 每個 MX 都可以愉快地指向 maindomain.tld,它們不需要為每個域進行個性化/更改。您必須遵循 MX 記錄的標準,正如任何已知的那樣,該標準不允許 CNAME。
- 每條 SPF 記錄必須在所有方面都是正確的,並且可以包含該聲明
include:maindomain.tld
。- maindomain.tld 的 PTR 記錄正確引用用於發送郵件的 A 記錄(例如 mail.maindomain.tld)是明智的。
- 所有郵件伺服器都應配置為在 EHLO 中以上面的主機名宣布自己。