一個簡單的自動發送郵件系統
php的另一個強大的特徵就是他有能通過html的表單修改變數的能力,通過這些變數,我們可以實現很多任務,包括象:發送wed-based的郵件,把資訊輸出給螢幕,從資料庫中讀取和傳遞資料。下面讓我們構建一個小型的自動發送郵件系統,來示範這個能力。
讓我們假設有這樣一個html的表單:
--------------------------------------
Request for more information
Would you like more information about our company?
--------------------------------------
把這個檔案存為moreinfo.html
注意 action指向檔案:email.php3 下面就是email.php3檔案:
--------------------------------------
/* this script will handle the variables passed from the moreinfo.html file */
PRINT "";PRINT "Hello, $name.";PRINT "
";
PRINT "Thank you for your interest.
";
PRINT "We will send information to $email, and have noted that you like $preference.";
PRINT "";
?>
--------------------------------------
把上面的檔案存為email.php3
當使用者在表單裡鍵入他們的name和email,點擊“send it!”按鈕,表單就會調用email.php3檔案,依次如下顯示:(這裡我們假設person'name 是bill, email地址是bgates@devshed.com ,選擇了apples):
--------------------------------------
Hello, Bill.
Thank you for your interest.
We will send information to bgates@devshed.com, and have noted that you like Apples
--------------------------------------
這樣我們的工程還沒有完成,由於我們不知道誰曾經插入了一些資訊,也沒有什麼實質性的事情發生過,我們沒有辦法給bill發信。
為了減少用手工發送標準email的負擔,我們可以使用php的mail()命令。
文法:void mail(string to, string subject, string message, string add_headers);
·to---寄出電子郵件到指定的郵件地址
·subject 表示主題
·message 為信件內容
·additional_headers 可省略,表示其它的郵件檔案頭。
因而,如果我們把這個命令插入到print語句之後,我們就可以自動的給使用者和網站的斑竹發信了,讓我們知道誰需要這些資訊。
--------------------------------------
mail("$email", "Your request for information", "$namen
Thank you for your interest!nWe sell fresh corn daily over the Internet!
Place your order at http://www.buycorn.com,
and receive a free package of $preference!");
mail("administration@buycorn.com",
"Visitor request for info.","$name requested for information.n
The email address is $email. n The visitor prefers $preference.");
?>
--------------------------------------
注意:mail()函數僅僅在SENDMAIL裝在伺服器上才可以使用,所以,在大多數情況下,使用前先確定是否可以使用。
但是當有很多人填寫了資訊,作為管理員,你不可能一一瀏覽信件,你可以用資料庫來跟蹤究竟有多少人選擇apples,多少人選擇了oranges?這樣的資料庫有很多種,其中最快之一的就是MySQL。
再下一篇文章中,我將給大家介紹如何將php和mysql結合起來使用。