發送郵件是常用的功能,LZ今天在項目中也碰到了,特此分享一下。
首先,去下載PHPMailer
1、https://github.com/dwqs/PHPMailer
2、http://download.csdn.net/detail/u011043843/8063583
下載之後,將文件解壓到項目目錄的對應位置,將class.phpmailer.php和class.smtp.php引入項目中,看代碼:(解壓的文件不要刪除,否則不行)
<?php
// 必要導入
require("class.phpmailer.php");
require("class.smtp.php");
date_default_timezone_set('Asia/Shanghai');//設定時區東八區
$mail = new PHPMailer(); //建立郵件發送類
$address = "[email protected]";
$mail->IsSMTP(); // 使用SMTP方式發送
$mail->CharSet ="UTF-8";//設置編碼,否則發送中文亂碼
$mail->Host = "smtp.qq.com"; // 您的企業郵局域名
$mail->SMTPAuth = true; // 啟用SMTP驗證功能
$mail->Username = "[email protected]"; // 郵局用戶名(請填寫完整的email地址)
$mail->Password = "**********"; // 郵局密碼
$mail->From = "[email protected]"; //郵件發送者email地址
$mail->FromName = "dwqs";
$mail->AddAddress($address, "dwqs");//收件人地址,可以替換成任何想要接收郵件的email信箱,格式是AddAddress("收件人email","收件人姓名")
//$mail->AddReplyTo("", "");
//$mail->AddAttachment("/var/tmp/file.tar.gz"); // 添加附件
//$mail->IsHTML(true); // set email format to HTML //是否使用HTML格式
$mail->Subject = "驗證郵件"; //郵件標題
$mail->Body = "Hello,這是測試郵件"; //郵件內容
$mail->AltBody = "This is the body in plain text for non-HTML mail clients"; //附加信息,可以省略
if(!$mail->Send()) {
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo "Message sent!恭喜,郵件發送成功!";
}
?>
測試結果:
1 先做一份常用郵箱登陸地址數據
2 根據用戶郵箱後綴,判斷出用戶郵箱服務提供商
3 網頁給出提示,或轉跳。
設置好以後PHPMAILer的參數之後,有一步要添加收件人對吧?這裡假設你的收件人列表存放在數組 $aMails 中:[php]$mail){? ? ? ? $oMail->SetAddress($mail);}$oMailer->Send();?>[/php]不過這裡要提醒一下,群發郵件最好使用Sendmail方式,以免發送失敗。每次發送的郵件數目不要太多,以免超時。可以使用分頁原理進行分批發送。