一個發送E-MAIL的腳本也許是你能夠在Web 站點上找到的最普通的腳本之一了,雖然它很簡單,一個郵件腳本有時會令程序員非常沮喪.PHP中有一個叫做mail()的函數,它只需要知道接收方的地址和信件主體就可以發送郵件,但是要讓mail()按你的意思運行你還需要解決一些棘手的問題.
要使mail()能夠運行,你必須有一個SMTP伺服器以便PHP能夠連接上去.不管這個伺服器對郵件程式多麼重要,大多數人對它如何運轉沒有一星半點的概念.在本教程中,我們將揭示SMTP的秘密並解決一些使用PHP發送郵件的常見問題.而本文中的另一些主題將包括循環遍歷一個地址列表的方法以及同時以文本和HTML格式向接收者發送一個郵件的方法.
SMTP是簡單郵件傳輸協議(Simple Mail Transfer Protocol)的縮寫,而一個SMTP伺服器是一台運行這種協議並發出郵件的計算機.運行這種協議實際上指的是運行諸如Sendmail和Qmail的程序--如果你使用的是一台非Windows電腦的話.在Windows平台上,作為Windows NT Service Pack一部分或是內建於Windows 2000內部的SMTP服務程式就是典型的這種程式.
我並不是說SMTP軟體包就只有那些,但是它們是最普通的.如果你的Web站點使用了互聯網服務提供者的主機軟體包(Internet Service Provider's virtual hosting package)的一部分,那麼SMTP服務程序就應該已經在這台計算機上安裝了.如果你是一台位於ISP或是室內的電腦的系統管理員,那麼你很有可能已經在這台電腦上安裝了某種SMTP軟體,用來處理從Web伺服器發送郵件的過程.
但是,如果你是一個個人用戶並只有一個開發用的Web服務程序運行在你的個人電腦上,你可能沒有在自己的機器上運行SMTP軟體.下面是一個非常簡單但是準確的拇指定律:如果你是一個Windows用戶而從沒有看見SMTP伺服器這樣的字眼,那麼你就沒有運行這個程式.如果你確實沒有,那麼你有兩種選擇:安裝,配置,和維護一個SMTP服務程序(如果你不知道那是怎麼一回事的話就不推薦你使用這種方法)或是使用一個現存的SMTP伺服器.