(本文章原始記錄於 2010 年 5 月 13 日)

******* Mercury Mail 簡易使用操作 *******

=== 前言 ===

Mercury Mail 為一整合 Mail Server,既提供 SMTP Server 寄信,又提供 POP3 Server 收信,其他尚有 IMAP4 Server 等 Server 程式,透過一套 Mercury Mail,既可以寄信又可以收信。

=== 啟動與關閉 ===

透過 XAMPP 控制面板的 Mercury 項目啟動並啟用 Mercury 控制面板(會先隱藏至常駐程式區),點按 Admin 可以將 Mercury 控制面板放大顯示以便操作,若將 Mercury 控制面板關閉,所有 Server 程式也將一併關閉,所以若不想看見控制面板,只要將其最小化就會縮回常駐程式區。

=== 設定 ===

POP3 為收信用程式,為了能收信,必須先建立帳號。
由控制面板 ConfigurationManage local users 開啟使用者管理對話窗,

Add: 新增使用者
Delete: 刪除使用者及其郵件
Change: 變更使用者姓名及密碼

新增一使用者以作測試用,故選 Add
Username: 使用者帳號
Personal name: 真實姓名
Mail password: 帳號密碼

輸入完成後按 OK 鈕,回到管理區再按 close 鈕關閉視窗

=== 測試 ===

  1. 測試 Mercury 是否有正常啟動,若無,則無法作進一步的測試:

    1. 透過 XAMPP 控制面板的 Port-Check 按鈕檢查,若 SMTP 的 25 port 顯示為 free,則無法寄信;若 POP3 的 110 port 顯示為 free,則無法收信。
    2. 透過 Mercury 控制面板,檢視 POP3 Server 或 SMTP Server 視窗左上角是否顯示 Ready,若是,則「應該」已經可以連線;若顯示 offline 則表示目前無法使用。
    3. 若一直無法 Listen SMTP 25 及 POP3 110 port,點 Mercury 控制面板上的
      FileEnter offline mode 後,再 FileLeave offline mode
      (先進入離線模式,再離開離線模式)
      如此一來,可以看到 Mercury 控制面板中的所有監看視窗左上角由 offline 變成 Ready,再透過 Port-Check 看看 SMTP 及 POP3 是否已開通。(應該都已開通)
  2. 測試寄一封信給自己,由於沒有 Web Mail 介面或 Outlook Express 等其他程式來測試,故使用最原始的 telnet 來測試。

    1. 寄信:使用 SMTP 協定寄信
      開啟命令提示字元(Command Line)輸入 telnet <Host 主機名稱> <Port 埠號>
      c:\xampp> telnet localhost 25
      接著可以直接下以下的指令寄信(必須依照順序輸入,但指令不分大小寫)

      1. HELO 自己名字或主機名稱 → 報上來頭,例如:HELO localhost
      2. MAIL FROM:<郵件寄件者 E-mail> → 例如:MAIL FROM:<[email protected]>
      3. RCPT TO:<收件者 E-mail> → 例如:RCPT TO:<[email protected]>
      4. DATA → 準備開始輸入信件內容
        輸入 DATA 後可以開始寫信。一開始先輸入標頭,有三個可以用
        (a)Suject:信件標題
        (b)Cc:副本人員 E-mail
        (c)Reply-To:回信給
        一般只要使用 Subject: 標頭即可。
        標頭輸入完畢之後下一行開始就是本文。本文輸入完後,留下一行以「.」為開始的字元,再按下 Enter 就輸入完畢並寄出。(系統以 <CRLF>.<CRLF> 表示)
      5. QUIT → 寄信完畢後離開跳出

      以上指令要特別注意的地方是,RCPT TO:<收件者 E-mail> 的寫法要符合 RFC 821 的規定,也就是 RCPT TO 後面加個冒號「:」,然後以 <> 包住收件者的郵件地址。
      (MAIL FROM 最好也遵照同樣的格式以免產生錯誤)

      SMTP Command 可以上網搜尋「SMTP Command」關鍵字,或參考以下網址:
      http://www.cqinc.com.tw/coopermaa/932-DC/practice/SMTPCmds.htm
      http://the-welters.com/professional/smtp.html

    2. 收信:使用 POP3 協定收信
      開啟命令提示字元(Command Line)輸入 telnet <Host 主機名稱> <Port 埠號>
      c:\xampp> telnet localhost 110
      接著可以直接下以下的指令寄信(必須依照順序輸入,但指令不分大小寫)

      1. USER 使用者帳號 → 輸入郵件帳號
      2. PASS 使用者密碼 → 輸入郵件帳號的密碼
      3. STAT → 顯示信箱狀態,共有多少封信,以及總量多大等
      4. LIST [N] → 列出編號為 N 的信,無參數表示列出全部
      5. RETR N → 讀取編號為 N 的信件完整內容
      6. TOP N L → 讀取編號為 N 的信件前 L 行
      7. DELE N → 刪除編號為 N 的信件(僅加上刪除的標記)
      8. RSET → 取消前面的動作,包括加上 DELE 刪除標記
      9. QUIT → 退出離開。加上 DELE 標記的信要 QUIT 才會刪除

      以上指令要特別注意的地方是,TOP 要下第二個參數,也就是指定讀信件的前幾行,
      如果沒有設定,將只會見到信件標題而已,完全見不到本文內容。

      POP3 Command 可以上網搜尋「POP3 Command」關鍵字,或參考以下網址:
      http://www.electrictoolbox.com/article/networking/pop3-commands/
      http://tw.myblog.yahoo.com/jw!EMQ9S7uLBhLhvTCvXKs5jw–/article?mid=2
      http://techhelp.santovec.us/pop3telnet.htm
      http://www.pnambic.com/Goodies/POP3Ref.html

    3. 不管是使用寄信的 SMTP Command 或收信的 POP3 Command,
      只要在下指令時輸入錯誤再按 BackSpace 刪除的話,通常都會產生錯誤 -ERR,
      只要再重新無誤地輸入一次就可以了,或者再 QUIT 後重新登入重試。

      另外,SMTP 及 POP3 都有 NOOP 的指令,表示「No Operation」,
      純粹是讓 Server 端回應 OK 而已,用來測試是否尚為連線狀態。

=== 結語 ===

由於 Mercury Mail Servers 若用於商業行為必須在試用 60 天後支付使用費,
因此較適合個人單機簡單測試,若上線使用則需支付額外的費用。