郵件伺服器的診斷對於確保電子郵件正確運行起著重要作用。它可以識別和解決與發送、接收和處理電子郵件訊息相關的問題。診斷的關鍵因素之一是在郵件伺服器上使用過濾器,它可以防止垃圾郵件、病毒和其他安全威脅。
本文將考慮有助於從側面檢查郵件伺服器運行的外部服務,以及允許直接在伺服器上執行診斷的內部工具。例如,所有操作都將在 私人服務器 由 Ubuntu 20.04.6 作業系統提供支持,並以 Postfix 和 Dovecot 的形式配置解決方案,但是,所提出的方法適用於幾乎任何作業系統和郵件用戶端。
郵件伺服器線上檢查服務
第一個也是最重要的一步是使用外部線上服務進行驗證。這樣,您可以檢查郵件伺服器的暴露、SPF、DKIM 和 DMARC 設置,還可以檢查發送電子郵件的 IP 位址的信譽。大多數情況下,僅使用這些工具就可能獲得預期的結果。
讓我們詳細了解主要的驗證服務及其功能:
工具箱 允許我們檢查幾乎所有可用的郵件伺服器參數。本服務提供檢查所有網域名稱記錄、一般網域名稱可用性、檢查 SSL 憑證、IP 位址狀態等的工具。要進行診斷,你需要去 服務頁面,輸入 IP 位址或域名,選擇所需工具並執行檢查
螢幕截圖中顯示了所有可用工具的詳細清單:
如上所示,網站也會檢查黑名單中是否有 IP/網域。所有主要來源都經過檢查:Spamhaus、Barracuda、SURBL 等等。如果該地址在任何資料庫中,該服務將提供有關被列入黑名單的原因的資訊。這樣,您將能夠採取措施來糾正問題。
郵件測試器 是第二受歡迎的檢查郵件伺服器的工具。該服務允許用戶向一個唯一的地址發送測試電子郵件,然後收到有關發送訊息品質的詳細報告。與 MxToolBox 不同,此資源的重點不是診斷郵件伺服器,而是可能的電子郵件改進。但這並不意味著該服務無法對發送方的伺服器進行全面分析。它測試郵件投遞,進行研究並提出改善整個郵件服務的建議。
為了完成檢查,只需前往 資源網站 並取得您想要發送電子郵件的唯一電子郵件地址。提交後,您必須選擇“檢查評估”並等待頁面刷新。好的結果是這樣的:
如果有任何問題或建議,該服務將在報告的相應部分中報告。
上述服務足以從側面對郵件伺服器進行全面檢查。它們可以幫助您識別電子郵件傳遞中的潛在問題、檢查您的安全設置,還可以為您提供解決可能錯誤的建議。接下來我們在服務端進行測試。
郵件伺服器設定檢查
檢查 DNS 記錄
郵件伺服器端最常見的問題之一是 DNS 記錄配置不正確。您可以透過上述第三方服務檢查其正確性。但在某些情況下,電子郵件可能無法投遞到第三方信箱。在這種情況下,您應該手動檢查所有條目。為此,請前往 DNS 編輯器並啟動檢查。舉例來說,我們以以下內容作為來源資料:域名profit.com,IP位址11.22.33.44,其中可以使用@作為域名,如果註冊商不允許填寫此表單。 不要忘記將值更改為您自己的值。 不要忘記將值更改為您自己的值。
A 記錄 定義郵件伺服器的 IP 位址。簡單地說,他們將網域名稱指向郵件伺服器位址。它看起來應該是這樣的:
| 類型 | 主辦方 | 值 | TTL |
| A | @ | 11.22.33.44 | 1分鐘 |
MX 記錄 對於郵件伺服器來說是最重要的,它們負責郵件傳遞路線。換句話說,他們將郵件直接發送到郵箱。
| 類型 | 主辦方 | 值 | TTL |
| MX | @ | mail.profit.com | 1分鐘 |
SPF記錄 指向能夠從特定網域發送電子郵件的伺服器。請注意:它們以 TXT 形式發布。 僅指示其中一個可能的值。
| 類型 | 主辦方 | 值 | TTL |
| 的TXT | @ | v=spf1 ip4:11.22.33.44 -all | 1分鐘 |
DKIM 記錄是 用於驗證電子郵件的真實性。必須包含生成的 公眾 鑰匙。同樣,只指示其中一個值選項。
| 類型 | 主辦方 | 值 | TTL |
| 的TXT | s1._domainkey.profit.com | DKIM1; k=rsa; p=QWIOJNDSLUB… | 1分鐘 |
DMARC 記錄是下一個也是最後一個保護階段。它適用於尚未通過的電子郵件 SPF 和 DKIM 檢查.
| 類型 | 主辦方 | 值 | TTL |
| 的TXT | _dmarc.profit.com | DMARC1; p=無;百分比=100; rua=信箱:[email protected] | 1分鐘 |
此外,郵件伺服器最重要的記錄之一是 PTR 記錄。可以說,它的作用與 一個記錄,即將 IP 位址與網域名稱連結。此類記錄只能透過向託管服務提供者的技術支援提出請求來添加,可以使用以下命令進行檢查: nslookup IP,其中 IP 是您的伺服器位址。回應應該顯示連結的網域。
連接埠檢查
關閉連接埠的問題也可能導致郵件伺服器完全故障。首先需要跟提供者明確其那邊是否對必要埠有所限制。我們不限制客戶端在任何 專用 or 虛擬服務器。然而,許多託管服務提供者採取了不同的行動。
您可以使用預先安裝的 netstat命令 公用事業。輸入指令就夠了:
netstat – nat
安裝並設定好SMTP/IMAP/POP3伺服器後,我們將看到對應的開放連接埠:
正如我們在截圖中看到的,主要的郵件用戶端連接埠是開放的,即: SMTP (25)/ IMAPS (143,993)/ POP3S (110,995)。您也可以單獨檢查每個連接埠上的郵件服務。這 遠程登錄 工具將幫助您實現這一點。我們來看POP3的例子,也就是110埠:
telnet mail.yourdomain.com 110
我們使用 出口 命令,並按照同樣的原則檢查剩餘的必要端口。請注意,此工具還提供了無需使用附加介面即可測試發送電子郵件的機會。當使用者只需要設定伺服器並計劃在本地發送郵件時,這會很有用。
如果在開啟連接埠時遇到困難,您需要注意已安裝的防火牆。大多數發行版都附有 Iptables/Firewalld 預裝。
對於 iptables的 我們使用以下命令:
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -p tcp --dport 995 -j ACCEPT
iptables -A INPUT -p tcp --dport 143 -j ACCEPT
iptables -A INPUT -p tcp --dport 993 -j ACCEPT
對於firewalld:
firewall-cmd --permanent --add-port=25/tcp
firewall-cmd --permanent --add-port=110/tcp
firewall-cmd --permanent --add-port=995/tcp
firewall-cmd --permanent --add-port=143/tcp
firewall-cmd --permanent --add-port=993/tcp
在某些情況下,SMTP 服務還需要開啟連接埠 465 和 587 才能正常運作。 打開這些連接埠的方式相同。新增規則後重新啟動防火牆服務。
檢查郵件伺服器的 SSL/TLS 憑證
SSL/TLS 憑證用於郵件伺服器上,確保郵件用戶端與伺服器之間的資料安全傳輸,同時也確認寄件者郵件伺服器本身的真實性,消除了中間人攻擊的可能性。但是,它們也可能導致發送或接收郵件的問題。要啟動診斷,您需要查明伺服器端是否安裝了憑證。讓我們使用以下命令檢查證書是否存在:
openssl s_client -showcerts -server mail.profit.com -connect IP:port
在此命令中,您需要用自己的值替換這些值:“mail.profit.com" 是郵件伺服器的位址; IP:連接埠 是伺服器資料。舉個例子,讓我們檢查一下端口 993,它屬於 IMAP 協定.其他協議以相同的方式檢查。
作為回應,伺服器必須傳送證書資料:
大多數郵件用戶端都會自動安裝憑證。但在某些情況下,需要手動將其發布並新增至特定客戶端。不同平台可能需要單獨的安裝和配置,因此我們建議您參考特定解決方案的說明。我們建議使用 讓我們加密 作為證書,並使用Certbot作為其安裝和配置的輔助工具。
日誌檢查
最後,我們找到了一個在大多數情況下都有幫助的解決方案——檢查郵件伺服器日誌。大多數用戶都自我欺騙,認為他們的問題無法解決。然而,現代郵件用戶端在日誌中儲存了大量資訊:
- 發送和接收郵件的日期和時間。
- 寄件者和收件人的地址。
- 垃圾郵件和病毒的過濾結果。
- 發送和接收郵件的佇列狀態。
- 管理員和使用者與郵件伺服器相關的操作(例如建立、刪除郵箱、變更設定)。
- 處理和傳遞電子郵件過程中出現的錯誤和問題。
儲存大多數指令的日誌的標準目錄位於:/var/日誌/。 根據所使用的解決方案,特定日誌檔案的名稱可能會有所不同。例如, mail.log 檔案是 位於 Postfix 的同一目錄中。我們不建議您忽略這種診斷方法,並且在出現郵件用戶端效能不佳的第一個跡象時立即使用日誌。請閱讀我們的手冊 如何閱讀 Linux 日誌.
了解如何檢查郵件伺服器
我們對郵件伺服器進行了詳細的診斷。在測試期間,用於詳細研究的線上工具和用於檢測可能問題的本地解決方案都受到了影響。在進行所有必要的測試後,我們獲得了郵件伺服器目前狀態的完整情況,以及消除潛在困難的建議。