通用快速檢測郵件故障思路方法
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
郵件服器軟件種類繁多,但大都離不開SMTP(簡單郵件傳輸協議),本文就從SMTP協議入手講解如何檢測一般性郵件故障。所以這里不必考慮你用的是EXCHANGE還是IMAIL等等。
故障設置案例: 突然發現:自己的公司的郵件:mymail@me.com 不能發郵件給 abc@163.com 了? 老板問你:為什么? 常見可能故障: 1.對方郵箱爆滿,附件超過對方郵箱允許容量。 2.對方DNS故障。 3.對方郵件服務器故障。 4.對方拒絕收取你的郵件。 5.其他方面故障,為省篇幅這里不做討論。 開刀啦。 一、分析故障從讀NDR開始。 一般郵件傳送失敗,服務器都會給你NDR(NOT DELIVERY REPORT未送達報告)。通過閱讀報告能獲得很多信息。 NDR通常是英文的,夾帶著N多數據如MSID,組織,目的地等,顯得有點亂。不過幸好這種故障NDR都會比較容易的捕捉匯報,通常包含size exceed; data exceed等就說明對方郵箱已滿或者附件過大。 而類似:HOST NOT FIND,COMMUNICATION FAILURE的NDR或者干脆什么信息都沒有的呢就需要我們進一步測試了。這也是今天我主要想說的。 二、NSLOOKUP打先鋒。 作用:他的用途很廣泛,基本上作為一個學網絡尤其是廣域網的人要對這個命令非常熟悉。這里我們用他來完成以下任務: 1.測試對方的域名是否可以解析,如果不能解析則可能這一時刻對方的DNS服務器故障。導致通訊郵件發送失敗。 2.獲得對方的MX(郵件)紀錄 從NDR中我們可以得到一些信息,HOST NOT FIND(主機未找到),COMMUNICATION FALURE(通訊失敗),這些提示都顯示著網絡的某個地方出現了故障。所以我們就要先從這里下手。事實上當我從DNR中得不到任何有幫助的信息的時候我也是先這樣開始的: 運行:CMD 鍵入:NSLOOKUP 命令。(WINDOWS系列需NT級系統才有,你可以使用在CMD中HELP命令獲得NSLOOKUP的使用指南)。 進入操作界面,操作提示符如下: > 表示開始接受命令狀態。 我只講解兩個有用的關鍵詞 第一個:SERVER 進入NSLOOKUP后,系統會將默認的SERVER設置為你當前獲得的DNS SERVER。顯示如下 >Default Server: dns.me.com >Address: 10.10.10.2 > 有時候因為CACHE的原因,我們需要用外部更好的DNS SERVER來幫助我們完成測試。比如我LAN網內的DNS為10.10.10.2,為了更快更好的獲得結果,我需要用廣東省的鐵通的DNS服務器來幫我完成測試,則敲入: 鍵入: >SERVER 211.98.2.4 顯示為: >Default Server: ns.cn-railway.net >Address: 211.98.2.4 > 表示當前默認的DNS解析服務器更改為211.98.2.4,隨后我們敲入的請求都將從這臺服務器獲得反饋。我們可以測試一下鍵入: > 163.com Server: [ ns.cn-railway.net] Address: 211.98.2.4 Non-authoritative answer: Name: 163.com Addresses: 202.106.168.103, 202.106.168.104, 202.106.168.109, 202.106.168.121 202.108.36.153 這里得到的是163.com域名中www這個主機的IP。一般情況下只會有一個IP紀錄。為什么有這么多呢?這里牽涉到DNS循環來解決服務器負擔問題。我們不做詳細介紹。 第二個:SET TYPE=MX (SET Q=MX) 通常進入NSLOOKUP,默認操作類型為A紀錄.但是我們要解決的是郵件問題,當然需要查看的是郵件MX紀錄。也就是發送給 abc@163.com 的郵件會送到哪臺郵件服務器上去。 這條命令就告訴服務器,我需要獲得該域名的郵件紀錄。set type=mx set q=mx 效果是一樣的。當然如果你要察看A紀錄,也可以用set q=A 切換。 鍵入命令: >set q=mx 再敲: >163.com 得到不同結果如下: Server: [ ns.cn-railway.net] Address: 211.98.2.4 Non-authoritative answer: 163.com MX preference = 50, mail exchanger = mx.mail.163.com mx.mail.163.com internet address = 202.108.44.208 mx.mail.163.com internet address = 202.108.44.209 mx.mail.163.com internet address = 202.108.44.210 mx.mail.163.com internet address = 202.108.44.211 mx.mail.163.com internet address = 202.108.44.215 mx.mail.163.com internet address = 202.108.44.223 mx.mail.163.com internet address = 202.108.44.224 mx.mail.163.com internet address = 202.108.44.228 mx.mail.163.com internet address = 202.108.44.133 mx.mail.163.com internet address = 202.108.44.154 mx.mail.163.com internet address = 202.108.44.155 mx.mail.163.com internet address = 202.108.44.180 mx.mail.163.com internet address = 202.108.44.203 mx.mail.163.com internet address = 202.108.44.207 由上可知,郵件紀錄會發送給mx.mail.163.com這臺服務器。同樣下面列出很多條紀錄對應到不同IP,都是處于緩解服務器負擔,以及備用,分流作用。 特別注意: 1.請多更換幾臺DNS服務器進行測試,因為不同的DNS會因CACHE不同而得到不同的結果。這樣比較準確的判斷是否為對方的DNS故障,或者是自己的DNS服務故障。 2.如果使用NSLOOKUP在同一DNS服務器上測試多次以及在不同的服務器上測試多次,如果無法得到A紀錄或者無法得到MX紀錄。則說明對方的DNS出現問題。所以導致無法通訊,發送郵件。某些時候因為網絡原因會得到 DNS request timed out. timeout was 2 seconds. *** Request to [211.98.4.1] timed-out 類似的結果。請試多幾次。 好了,找到了MX郵件紀錄,下面開始真正的檢測之旅吧,如果你是新手,你一定會覺得下面的檢測居然這么神奇。下一節你在檢測的同時,你也會明白垃圾郵件,匿名郵件產生的原理了。當然建議大家不要干壞事哦! ================================================================================== 上一篇文章我說到,如何判定DNS是否故障,以及如何獲得對方域名的MX紀錄。如果我們能正確獲得上述信息也就說明不存在該類問題。則我們進行下一步的檢測。 本章我將介紹如何使用 telnet 來檢測運行簡單郵件傳輸協議 (SMTP) 服務的郵件服務器上,以解決 SMTP 通信問題。默認情況下,SMTP 偵聽端口 25。 我們已經使用NSLOOKUP獲取 Internet 郵件交換器記錄163.com的為:mx.mail.163.com 在CMD窗口中鍵入: [郵件已放入發送隊列中,有些服務器直接發送出去] quit 號[退出TELNET] Connection to host lost.
第三節中我們將講如何測試POP3協議是否運行正常。 本文介紹如何遠程登錄 (Telnet) 到郵件服務器的 110 端口。 如果建立了連接,將顯示來自服務器的一個說明服務器版本的信息,它類似如下: 通過使用以下命令登錄到郵箱開始通訊: 隨后將顯示以下回應: 輸入以下命令: 隨后將顯示以下回應信息,根據不同的服務器而不同。: 輸入以下命令列出郵箱中的所有郵件: 將顯示下面的回應信息(取決于郵箱中的郵件數,該信息會有變化): 郵件編號是左側的數字 使用郵件編號選中的郵件將顯示在回應信息中,類似如下: 退出 該文章在 2012/2/17 0:27:17 編輯過 |
關鍵字查詢
相關文章
正在查詢... |