網路城邦
上一篇 回創作列表 下一篇   字體:
如何測試電子郵件信箱
2009/10/05 20:01:15瀏覽9948|回應0|推薦1
電子郵件 (e-mail) 是許多人認識網際網路的開始,也是所有網際網路服務中最普遍的一項應用。雖然既新且夯的服務如 Twitter、Plurk、Facebook 等不斷被推出,但這個發明了幾十年的服務永遠老神在在,無法被取代。

用過電子郵件的人都有類似經驗,三不五時總會遇到被退信或寄出的信件石沉大海,其發生的原因很多,可能是打字錯誤,也可能是自己或對方的主機有問題,很多時候別人幫不上忙,因此最好學個幾招自己解決問題。

現在廣為使用的電子郵件是仿效真實世界的郵務系統的,使用者用來讀取自己信箱的協定為 POP 或 IMAP;使用者與主機間,以及主機與主機間用來傳送信件的協定為 SMTP。信件被退或遺失代表自己或對方的主機無法處理送出的信件,因此必須測試 SMTP 主機。

更由於我們發現問題時,信件早已從己端的 SMTP 主機寄出,這表示己端的 SMTP 服務應屬正常,因此問題可能在彼端,測試的範圍便著重在收件人端的 SMTP 主機。

《測試前準備一》:SMTP 主機資訊
有幾種方式可以獲得收件人的 SMTP 主機的資訊。

方法一、經由口頭詢問或其它管道得知。

方法二、測試郵件地址 usernam@xxxxxx 的右半部,例如:xxxx@ms1.hinet.net 其中 ms1.hinet.net 即為 SMTP 主機,此可利用測試 TCP 25 埠 (telnet ms1.hinet.net 25) 驗證之(後詳)。

方法三、利用 nslookup 查詢 MX 紀錄。步驟如下:【看範例
1. 執行 "開始 -> 執行 -> cmd" 進入 DOS 命令提示字元。
2. 輸入 nslookup。
3. 在提示號 > 下輸入 set query=mx
4. 輸入對方郵件地址的主機。
出現的 MX (mail exchanger)紀錄即是該網域的 SMTP 主機。

《測試前準備二》:測試命令稿
測試時,由於須重複輸入相同的內容,因此將所有 SMTP 命令及測試信內容暫存在任何文字編輯器內,利用複製剪貼的方式以節省時間。

SMTP 交談命令:
helo [domain name]
mail from: [sender's address]
rcpt to: [receiver's address]
data (以句點及換行做為結束)
quit

測試信內容:
Reply-To: [sender's address]
From: [sender's address]
To: [receiver's address]
Subject: Test mail
Hello. I'm sending this test mail to verify the correctness of your email box.
If you receive this message, please reply.
Thanks.

※ 若無須測試信,則可跳過 data 命令。

《測試方法》:

我們以 GMail 端 c??????g@gmail.com 當作是寄件人(測試者),HiNet 端 c??????g@ms1.hinet.net 當作收件人(被測者),進行包括成功和失敗的各種測試。測試時以 telnet 程式連接到彼端 SMTP 主機的 TCP 25 埠【看範例】,然後逐項輸入 SMTP 交談命令及測試信內容。



測試一、c??????g@gmail.com 寄給 c??????g@ms1.hinet.net。寄件人和收件人都正確,信件正確到達。【看過程】【看結果

測試二、c??????g@gmail.com 寄給 c??????g@hinet.net。收件人地址之主機錯誤,但信件石沉大海,也無退信。【看過程

測試三、c??????g@gmail.com 寄給 c??????g@ms1.hinet。收件人之主機錯誤,信件被退信,錯誤訊息為 Host Unknown。【看過程】【看結果

測試四、c??????g@gmail.com 寄給 c!!!!!!g@ms1.hinet.net。收件人之名稱錯誤,信件被退信,錯誤訊息為 User Unknown。【看過程】【看結果

由於某些 SMTP 主機為避免被當成跳板轉寄垃圾信,可能採取不同的管理策略管制信件的傳送,例如身份認證、網域反查等,另外對傳送失敗的信件也可能直接捨棄,因此測試結果可能視不同主機而有差異。

《網路上的測試工具》:
基於相同原理,網路上有許多現成可用的測試工具,可以省去不少麻煩。

  • http://www.hq42.net/net_tools/test_email_addr.php (限每日使用 10 次)
  • http://www.zoneedit.com/smtp.html
  • http://centralops.net/co/EmailDossier.aspx
  • http://www.morgan-systems.com/tools/EmailDossier.vbs.asp
  • http://www.all-nettools.com/toolbox/email-dossier.php


  • ( )
    回應 推薦文章 列印 加入我的文摘
    上一篇 回創作列表 下一篇

    引用
    引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=webman&aid=3379238