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

******* 使用 PHP 寄信 *******

如果測試 Mercury Mail 的 SMTP Server 及 POP3 Server 已經開通的話,
就可以測試用 PHP 寄信。

  1. 修改 php.ini 內部的資料,
    1. 將 SMTP = localhost 這一行的 localhost 修正為正確的 SMTP Server Host。
    2. 將 smtp_port = 25 這一行的 25 修正為正確的 port
    3. 將 sendmail_from = [email protected] 前方(左邊)的分號「;」拿掉,
      並將 [email protected] 改為正確的郵件地址;
      此處的郵件地址將代表用 PHP 寄信時的 From: 欄位內容。
      若這裡沒有設定的話,則在 PHP 的 mail() 函數最後一項要自行加入”From: ….”。
  2. 寫一段 PHP 程式碼測試寄信,內容可以如下:
    
    <?php
      echo "準備寄信....";
      $msg="這是一封測試用信件\r\n這是第二行...";
      mail("[email protected]","測試信的標題",$msg);
      echo "信件已寄出!";
    ?>
    
    

    如果網頁上並沒有出現錯誤訊息,則表示信已正確無誤地寄出了。
    若是沒在 php.ini 中解除 sendmail_from 註解,則 mail() 函數如下:mail(“[email protected]”,”測試信的標題”,$msg,”From:[email protected]”);

  3. 透過命令提示字元(Command Line),用 telnet 登入 POP3 Server 收信,
    若可以觀看此封信件的內容,表示可以使用 PHP 正確無誤地寄信了。

******* Mercury Mail POP3 Server 使用問題 *******

若無法登入,可能是因為修改 newuser 帳號的密碼後再觀看 http://localhost/security 檢查,因為嘗試輸入預設的密碼產生錯誤,因而完全無法登入,因此被加入黑名單中,只要:

  1. 稍待一陣子(30分鐘左右)
  2. 重新啟動 Mercury Mail Servers
  3. (以 4.7 版來說別無他法,並無法從 POP3 Connection Control 設定 White List 來解放)

就可以再登入收信了。問題在於 XAMPP 的安全檢查測試而非 Mercury Mail 本身。

被封鎖 IP 的詳細情形可以參考各 Server 的 log 檔
(位於 .\xampp\MercuryMail\LOGS 內各 Server 目錄)