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ì),結合≥Ω&socket功能(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è)p$✘hp下(xià)功能(néng)十分(fēn)強大 ☆(dà),易用(yòng)且免費(fèi)的(de)SMT¶ P類模塊-PHPMailer,(下(xià)載地(dì)址http://www.phpe.net/class/32.shtm¶₽∑l)
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,bi £₽nary和(hé)quoted-printab$le
*.支持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 col>≈or="#FF6666">收信<±♠↓/font>的(de)郵箱地(dì)址:ε≤₹β
<form name="phpmailer" action="∞✔βsend.php" method="post">
<input type="hidden" na÷↓me="submitted" value="1"/&g∑↔t;
郵箱地(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['address'→©];
$mail->IsSMTP(); // 使用(yòng)SMTP方λ≈®式發送
$mail->Host = "mai€±l.xxxxx.com"; // 您的(de)企業(yè)郵&∏'局域名
$mail->SMTPAuth = true; // 啓用(yβ€òng)SMTP驗證功能(néng)
$mail->Username = "user@xxxx.com"; // 郵局用(yòng)戶名(請(qǐng)填寫完整的(de)em™☆ail地(dì)址)
$mail->Password = "******";≥₹ // 郵局密碼
$mail->From = "user@xxxx.com"; //郵件(jiàn)發送者email地(dì)址
$mail->FromName = "您的(de≈₽✘★)名稱";
$mail->AddAddress("$addre>≈ss", "");//收件(jiàn)人(r✘₽£én)地(dì)址,可(kě)以替換成任何想要(yào)接收郵件(σ↑jiàn)的(de)email信箱,格式是(shì)AddAddr₽§ess("收件(jiàn)人(rén)em±&₩ail","收件(jiàn)人(rén)姓名")
//$mail->AddReplyTo("", "");
//$mail->AddAttachment("/v♦πar/tmp/file.tar.gz"); // 添★φβ加附件(jiàn)
//$mail->IsHTML(true); // set email σ₹↑format to HTML //是(shì)否使用(yòng&')HTML格式
$mail->Subject = "PHPMailer測試郵件(jγ↑©iàn)"; //郵件(jiàn)标題
$mail->Body = "Hel×λλlo,這(zhè)是(shì)測試郵件(£σjiàn)"; //郵件(jiàn)內(nèi)容
$mail->AltBody = "This is ®the body in plain text for non-HTML mai♦§λ€l clients"; //附加信息,可(kě)以省略
if(!$mail->Send())
{
echo "郵件(jiàn)發送失敗. <p> ↔'";
echo "錯(cuò)誤原因: " .β<↓ $mail->ErrorInfo;
exit;
}
echo "郵件(jiàn)發送成功";
?>