PHPMailer類源代碼下載地址:https://github.com/PHPMailer/PHPMailerhttps://github.com/PHPMailer/PHPMailer
代碼如下 復制代碼
<?php
/*
to: 郵件接收地址
subject: 郵件主題
body: 郵件內容
attachpath:附件地址
cc: 郵件抄送地址
bcc: 郵件暗抄送地址
*/
functionsend_mail($to,$subject="",$body="",$attachpath="",$cc="",$bcc="")
{
// 對郵件內容進行必要的過濾
$body=eregi_replace("[\]",'',$body);
// 設定時區
date_default_timezone_set("PRC");
require_once('class.phpmailer.php');
require_once("class.smtp.php");
// 實例化PHPMailer對象
$mail=newPHPMailer();
// 設定郵件編碼,默認ISO-8859-1,如果發中文此項必須設置為 UTF-8
$mail->CharSet ="UTF-8";
// 設定使用SMTP服務
$mail->IsSMTP();
// 啟用 SMTP 驗證功能
$mail->SMTPAuth = true;
// SMTP 安全協議
$mail->SMTPSecure ="ssl";
// SMTP 服務器
$mail->Host ="smtp.qq.com";
// SMTP服務器的端口號
$mail->Port = 465;
// SMTP服務器用戶名和密碼
$mail->Username ="[email protected]";
$mail->Password ="xxxxxx";
// 設置發件人地址和名稱,名稱可有可無
$mail->SetFrom("[email protected]","xxxxxx");
// 設置郵件接收地址和名稱,第二個參數無所謂。必須用AddAddress添加郵件接收地址。AddReplyTo方法沒什麼用。
//$mail->AddReplyTo("[email protected]", "xxxxxx");
$mailaddrs= split(",",$to);
foreach($mailaddrsas$addres)
{
//校驗郵箱地址是否合法
if(filter_var($addres, FILTER_VALIDATE_EMAIL))
{
$mail->AddAddress($addres);
}
}
// 設置郵件抄送地址
if($cc!="")
{
$ccaddrs= split(",",$cc);
foreach($ccaddrsas$ccaddr)
{
//校驗郵箱地址是否合法
if(filter_var($ccaddr, FILTER_VALIDATE_EMAIL))
{
$mail->addCC($ccaddr);
}
}
}
// 設置郵件暗抄送地址,私密發送
if($bcc!="")
{
$bccaddrs= split(",",$bcc);
foreach($bccaddrsas$bccaddr)
{
//校驗郵箱地址是否合法
if(filter_var($bccaddr, FILTER_VALIDATE_EMAIL))
{
$mail->addBCC($bccaddr);
}
}
}
// 設置郵件主題
$mail->Subject =$subject;
// 可選項,向下兼容考慮
$mail->AltBody ="為了查看該郵件,請切換到支持 HTML 的郵件客戶端";
// 設置郵件內容
$mail->MsgHTML($body);
//使用HTML格式發送郵件
$mail->IsHTML(true);
// 添加附件,第一個參數是附件地址,第二個參數附件名
//$mail->AddAttachment("images/phpmailer.gif");
$mail->AddAttachment($attachpath);
// 發送郵件
if(!$mail->Send())
{
echo"發送失敗:".$mail->ErrorInfo . PHP_EOL;
}
else
{
echo"恭喜,郵件發送成功!". PHP_EOL;
}
}
$emailAddr="[email protected],[email protected],";
send_mail($emailAddr,"測試郵件","<h1>使用PHPMailer類發送的郵件。</h1>","mail/20170216.gif","[email protected]","");
?>
測試結果:
說明:第44行的SMTP服務器密碼為qq郵箱授權碼。
登錄QQ郵箱->設置->賬戶->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務->生成授權碼