一個簡單的自動發送郵件系統
php的另一個強大的特征就是他有能通過html的表單修改變量的能力,通過這些變量,我們可以實現很多任務,包括象:發送wed-based的郵件,把信息輸出給屏幕,從數據庫中讀取和傳遞數據。下面讓我們構建一個小型的自動發送郵件系統,來演示這個能力。
讓我們假設有這樣一個html的表單:
--------------------------------------
<HTML>
<HEAD>
<TITLE>Request for more information</TITLE>
<BODY>
<CENTER>Would you like more information about our company?
<P>
<TABLE WIDTH = 400><TR><TD align = right>
<FORM ACTION="email.php3" METHOD="POST">
Your name:<BR>
<INPUT TYPE="text" NAME="name" SIZE="20" MAXLENGTH="30">
<P>
Your email address:<BR>
<INPUT TYPE="text" NAME="email" SIZE="20" MAXLENGTH="30">
<P>
I prefer:
<SELECT NAME="preference">
<OPTION value = Apples>Apples
<OPTION value = Oranges>Oranges
</SELECT>
<P>
<INPUT TYPE="submit" VALUE="Send it!">
</FORM>
</TD></TR></TABLE></CENTER>
</BODY>
</HTML>
--------------------------------------
把這個文件存為moreinfo.html
注意 action指向文件:email.php3 下面就是email.php3文件:
--------------------------------------
<?
/* this script will handle the variables passed from the moreinfo.html file */
PRINT "<CENTER>";PRINT "Hello, $name.";PRINT "<BR><BR>";
PRINT "Thank you for your interest.<BR><BR>";
PRINT "We will send information to $email, and have noted that you like $preference.";
PRINT "</CENTER>";
?>
--------------------------------------
把上面的文件存為email.php3
當用戶在表單裡鍵入他們的name和email,點擊“send it!”按鈕,表單就會調用email.php3文件,依次如下顯示:(這裡我們假設person'name 是bill, email地址是
[email protected] ,選擇了apples):
--------------------------------------
Hello, Bill.
Thank you for your interest.
We will send information to
[email protected], 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("
[email protected]",
"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結合起來使用。