[原創(chuàng)]如何用php結(jié)合phpmailer發(fā)送郵件- 虛擬主機問題,虛擬主機域名注冊-常見問題,虛擬主機,網(wǎng)頁制作,域名注冊,主機,企業(yè)郵局,主頁空間,個人主頁,網(wǎng)絡(luò)實名,主機托管,網(wǎng)站建設(shè),域名">
  虛擬主機域名注冊-常見問題虛擬主機問題 → 虛擬主機問題


[原創(chuàng)]如何用php結(jié)合phpmailer發(fā)送郵件
作者:

  php本身提供了一個郵件發(fā)送函數(shù)mail,可以在程序中直接發(fā)送電子郵件,不過該函數(shù)要求服務(wù)器支持sendmail
或者必須設(shè)置一臺不需要中繼的郵件發(fā)送服務(wù)器,但現(xiàn)在要找到一臺不需要身份驗證的郵件發(fā)送中繼幾乎不可能.
所以使用mail函數(shù)往往無法成功發(fā)送email.
 自己如果熟悉SMTP協(xié)議,結(jié)合socket功能就可以編寫高效穩(wěn)定的郵件發(fā)送程序,但對一般用戶來說太困難.好在互聯(lián)網(wǎng)上已經(jīng)有很多別人編寫好的郵件發(fā)送模塊,我們只需要下載后簡單調(diào)用即可,十分方便.
 在此我們給用戶推薦一個php下功能十分強大,易用且免費的SMTP類模塊-PHPMailer,(下載地址http://www.phpe.net/class/32.shtml)

PHPMailer是一個用于發(fā)送電子郵件的PHP函數(shù)包。它提供的功能包括:
*.在發(fā)送郵時指定多個收件人,抄送地址,暗送地址和回復(fù)地址
*.支持多種郵件編碼包括:8bit,base64,binary和quoted-printable
*.支持SMTP驗證
*.支持冗余SMTP服務(wù)器
*.支持帶附件的郵件和Html格式的郵件
*.自定義郵件頭
*.支持在郵件中嵌入圖片
*.調(diào)試靈活
*.經(jīng)測試兼容的SMTP服務(wù)器包括:
Sendmail,qmail,Postfix,Imail,Exchange等
*.可運行在任何平臺之上



 下載該組件后,按如下示例編寫代碼即可實現(xiàn)php在線發(fā)送郵件.
 

  一:前臺表單

<html>
<body>
<h3>phpmailer Unit Test</h3>
請你輸入<font color="#FF6666">收信</font>的郵箱地址:
<form name="phpmailer" action="send.php" method="post">
<input type="hidden" name="submitted" value="1"/>
郵箱地址: <input type="text" size="50" name="address" />
<br/>
<input type="submit" value="發(fā)送"/>
</form>
</body>
</html>

 二:后臺PHP程序


 <?php
require("class.phpmailer.php"); //下載的文件必須放在該文件所在目錄
$mail = new PHPMailer(); //建立郵件發(fā)送類
$address = $_POST['address'];
$mail->IsSMTP(); // 使用SMTP方式發(fā)送
$mail->Host = "mail.xxxxx.com"; // 您的企業(yè)郵局域名
$mail->SMTPAuth = true; // 啟用SMTP驗證功能
$mail->Username = "user@xxxx.com"; // 郵局用戶名(請?zhí)顚懲暾膃mail地址)
$mail->Password = "******"; // 郵局密碼

$mail->From = "user@xxxx.com"; //郵件發(fā)送者email地址
$mail->FromName = "您的名稱";
$mail->AddAddress("$address", "");//收件人地址,可以替換成任何想要接收郵件的email信箱,格式是AddAddress("收件人email","收件人姓名")
//$mail->AddReplyTo("", "");

//$mail->AddAttachment("/var/tmp/file.tar.gz"); // 添加附件
//$mail->IsHTML(true); // set email format to HTML //是否使用HTML格式

$mail->Subject = "PHPMailer測試郵件"; //郵件標題
$mail->Body = "Hello,這是測試郵件"; //郵件內(nèi)容
$mail->AltBody = "This is the body in plain text for non-HTML mail clients"; //附加信息,可以省略

if(!$mail->Send())
{
 echo "郵件發(fā)送失敗. <p>";
 echo "錯誤原因: " . $mail->ErrorInfo;
 exit;
}

echo "郵件發(fā)送成功";
?>



來源:
閱讀:3385
日期:2008-01-24

【 雙擊滾屏 】 【 推薦朋友 】 【 收藏 】 【 打印 】 【 關(guān)閉 】 【 字體: 】 
上一篇:已經(jīng)沒有了。
下一篇:已經(jīng)沒有了。
  >> 相關(guān)文章