php本身(shēn)提供了₽≈<(le)一(yī)個(gè)郵件(jiàn)<₹<發送函數(shù)mail,可(kě)以在↕ β程序中直接發送電(diàn)子(zǐ)郵件(jiàn),不(bù)過該函數(s£σ αhù)要(yào)求服務器(qì)支持send♥∞₹ mail
或者必須設置一(yī)台不(bù)需要(yào)中繼的(de)郵件(j÷∏☆ià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ì),結合socke& t功能(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è)php下(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òn≈γg)于發送電(diàn)子(zǐ)郵件(jiàn)的(de)P★§$HP函數(shù)包。它提供的(de)功能(néng)包括:
*.在發送郵時(shí)指定多(duō)個(gè)收件(jiàn≥£)人(rén),抄送地(dì)址,暗(àn)送地(dì)址©γπ♣和(hé)回複地(dì)址
*.支持多(duō)種郵件(jiàn)編¶β¶碼包括:8bit,base64,binary和(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ǐ)輸入<fon→'♣λt color="#FF6666">收信&>γ<lt;/font>的(de)郵箱地(dì)址:
<form name="phpmailer" a♥$ction="send.php" method="p★®±ost">
<input type="hidden" name="submitted" value="1"/>
郵箱地(dì)址: <input type=•>"text" size="50" namφ Ω e="address" />
<br/>
<input type="submit" v♠alue="發送"/>
</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['address'];
$mail->IsSMTP(); // 使用(yòng)SM>™'TP方式發送
$mail->Host = "mail.xφ≠xxxx.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γΩγ("$address", "");//收件(jiàn)人(ré™♠n)地(dì)址,可(kě)以替換成任何想要(yào)接←λ收郵件(jiàn)的(de)email信箱,格式是(sh÷€ì)AddAddress("收件(jiàn)人✘(rén)email","收件(jiàn)δ↕人(rén)姓名")
//$mail->AddReplyTo("", "");
//$mail->AddAttachm§•ent("/var/tmp/file.tarα↕.gz"); // 添加附件(jiàn)
//$mail->IsHTML(t ←rue); // set email for≠&mat to HTML //是(shì)否使用(yòn₽→↕σg)HTML格式
$mail->Subject = "PHPMaiδ↓≠ler測試郵件(jiàn)"; //郵件(jασiàn)标題
$mail->Body = "Hello,這(zhè)是(shì •<')測試郵件(jiàn)"; //郵件(jiàn&♥)內(nèi)容
$mail->AltBody = "This"ε is the body in plain text for nonγ¥-HTML mail clients"; //附加信息,可($♥εkě)以省略
if(!$mail->Send())
{
echo "郵件(jiàn)發送失♦≤₩敗. <p>";
echo "錯(cuò)誤原因: " . φ $mail->ErrorInfo;
exit;
}
echo "郵件(jiàn)發送成功";
?>