字體:小 中 大 |
|
|
|
| 2011/09/23 16:06:56瀏覽450|回應0|推薦0 | |
不少朋友常問道:架設 PHP 論壇或是一些寄信表單時需要用上 PHP MAIL() 這組 function 但有趣的是,對於這組函數的設定上我們需要動到 php.ini 這個系統設定文件但是它完全不支援任何 smtp 認證的方式。 舉例來說最簡單的 AUTH LOGIN 這樣的 smtp 認證機制也不可用,如此一來衍生了一個很大的困難,咱不能使用 ISP 或者是 GMAIL (每個人都有這個帳戶吧)所免費提供的 smtp 來做寄信的這樣一個動作。 為什麼阿?因為 ISP 的 smtp 要你用帳戶及密碼來登入後才能寄信,而 GMAIL 的 SMTP 除了需要帳戶密碼之外,還需要支援 STARTTLS 才能寄信。這對只能做基本寄信的 php 程式來說實在是太強人所難了。 今天筆者這邊有一個簡單又安全的解決方案,讓閣下的寄信程式依然只要以 127.0.0.1 作為 smtp 來寄信的同時,又可以利用 google 的 smtp 免費幫你做寄信的這樣一個動作。 原理其實很簡單,我們在自己的伺服器上架設一個郵件伺服器軟體 "EVO企業郵件伺服器" 並且僅允許來自 127.0.0.1 的寄信要求,再由這強大的外寄郵件伺服器來做透過 GMAIL SSL 代寄信這樣一個動作。請至它的官網下載 => EVO mail server,設定到啟動不用兩分鐘這我們就不多說了。 開啟 EvoMailServer.exe 這郵件伺服器軟體後,我們首先按下啟動服務的按鈕,接著打開[設定]>[進階模式]並依照如下的設定 以 google smtp 代寄為例: 接下來[安全]>[SMTP開放以下IP位址無條件轉寄]下面填入 127.0.0.1 接下來[IP位址白名單]下面填入 127.0.0.1 最後確認閣下的 php.ini 中有如下的設定 只要幾個簡單的步驟,閣下的寄信程式就可以原封不動地透過 gmail SSL smtp 代寄,而您,不必要修改任何一行程式碼,傑克!這真是太神奇了。 |
|
| ( 興趣嗜好|電腦3C ) |











