php本身(shēn)提供了(∏★™le)一(yī)個(gè)郵件(jiàn)> 發送函數(shù)mail,可(kě)以在程₽€序中直接發送電(diàn)子(zǐ)郵件(jiàn),不(bù)過該函數(shù)¶♣要(yào)求服務器(qì)支持sendmail
或者必須設置一(yī)台不(bù)需要(yào)中繼的(de)郵件(jiàn)發送♠≥λ服務器(qì),但(dàn)現(xiàn)在要(yào)找到(dào)一(≈≤♦₩yī)台不(bù)需要(yào)身(shēn)λ♣份驗證的(de)郵件(jiàn)發送中繼幾乎不(bù)可(kě)能(néng).
所以使用(yòng)mail函數(shù)往往無法成功發送email.
自(zì)己如(rú)果熟悉SMTP協議(yì),結合sock★∑et功能(néng)就(jiù)可(kě)以編寫高'(gāo)效穩定的(de)郵件(jiàn→♣)發送程序,但(dàn)對(duì)一(yī)般用(yòng)戶來($≥lái)說(shuō)太困難.好(hǎo)在互聯網上(shàng)已經有(yǒu)很(h∞↓∞ěn)多(duō)别人(rén)編寫好(hǎo)的(de)郵件(jiàn)發送¶↑模塊,我們隻需要(yào)下(xià)載後簡單調用(yòng)即可(kě↑©),十分(fēn)方便.
在此我們給用(yòng)戶推薦一(yī)個(gè)ph×β↕p下(xià)功能(néng)十分(fēn)強大(dà),易用(yòng)且免費(fèi)•≤的(de)SMTP類模塊-PHPMailer,(下(xià)載地(dì)址http://www.phpe.net/class/32.shtml)
PHPMailer是(shì)一(yī)個(g>δ©è)用(yòng)于發送電(diàn)子(zǐ)郵件(jiàn)的(de)₽PHP函數(shù)包。它提供的(de)功能(néngλγ)包括:
*.在發送郵時(shí)指定多(duō)個(gè)收件(jiàn)人(rén)±•&☆,抄送地(dì)址,暗(àn)送地(dì)址和(hδ∞±é)回複地(dì)址
*.支持多(duō)種郵件(jiàn)編碼包括:8bit,base64,bin λΩary和(hé)quoted-printable
*.支持SMTP驗證
*.支持冗餘SMTP服務器(qì)
*.支持帶附件(jiàn)的(de)郵件(jiàn)和(hé)Html≥≤γ格式的(de)郵件(jiàn)
*.自(zì)定義郵件(jiàn)頭
*.支持在郵件(jiàn)中嵌入圖片
*.調試靈活
*.經測試兼容的(de)SMTP服務器(qì)包括:Sendmail,qmail,Postfix,Imail,Exchange等
*.可(kě)運行(xíng)在任何平台之上÷♠>(shàng)
下(xià)載該組件(jiàn)後,按如(rú)下(xià)示例編寫代碼即可←(kě)實現(xiàn)php在線發送郵件(jià™♠↕n).
一(yī):前台表單
<html>
<body>
<h3>phpmailer Unit Test</h3>
請(qǐng)你(nǐ)輸入<font color="#FF6666"&g★™t;收信</font>的(de)郵箱地(dì)↓✔¶址:
<form name="phpmaile£ ©¶r" action="send.php" me thod="post">
<input type="hidden" name="suβ✔bmitted" value="1"/>
郵箱地(dì)址: <input type✘→₹α="text" size="50" name₩≈∞="address" />
<br/>
<input type="submit" value="發送"/>
</form>
</body>
</html>
二:後台PHP程序
<?php
require("class.phpmailer.php")★φ; //下(xià)載的(de)文(wén)件(jiàn)必須放(fàφ♠"ng)在該文(wén)件(jiàn)所在™ 目錄
$mail = new PHPMailer(); //建立郵件(jiànα♦)發送類
$address = $_POST['aγφσddress'];
$mail->IsSMTP(); // 使用(yòng)SMTP方式發₹送
$mail->Host = "mail♠∑≤.xxxxx.com"; // 您的(de)企業(yè)郵局域名
$mail->SMTPAuth = true; £>// 啓用(yòng)SMTP驗證功能(néng)
$mail->Username = "user@xxxx.com"; // 郵局用(yòng)戶名(請(qǐng)填寫完整的(de)££email地(dì)址)
$mail->Password = "***Ωλ₩***"; // 郵局密碼
$mail->From = "user@xxxx.com"; //郵件(jiàn)發送者email地(dì)址 ☆
$mail->FromName = "您的(de)名∑$♠稱";
$mail->AddAddress("$adβ☆>dress", "");//收件(jiàn)人(rén)地(dì)址,可(≈≠↓kě)以替換成任何想要(yào)接收郵件(jiàn)的(de)email信箱,格式↕ 是(shì)AddAddress("收件(jiàn)人(rén)email","φ✘收件(jiàn)人(rén)姓名")
//$mail->AddReplyTσ★₹•o("", "");
//$mail->AddAttachment("/var/t♦ β∞mp/file.tar.gz"); // 添加附件(jiàγΩn)
//$mail->IsHTML(true); // set e§✘mail format to HTML //是(shì)否使用(yòng)HTM★☆L格式
$mail->Subject = ←×β₽"PHPMailer測試郵件(jiàn)"; //郵件(jiàn)标題
$mail->Body = "Hello,這(zhè)是(shì)測試郵件(jπσ≥iàn)"; //郵件(jiàn)內(nèi)容
$mail->AltBody = "This is the body in pε≈lain text for non-HTML mail clienλ¥"≈ts"; //附加信息,可(kě)以省略
if(!$mail->Send())
{
echo "郵件(jiàn)發送失敗. <p>";
echo "錯(cuò)誤原因: "®β . $mail->ErrorInfo;
exit;
}
echo "郵件(jiàn)發送成功";
?>