溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用PHPMailer發(fā)送郵件

發(fā)布時間:2021-07-26 14:45:42 來源:億速云 閱讀:133 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)如何使用PHPMailer發(fā)送郵件的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

PHPMailer類源代碼下載地址:https://github.com/PHPMailer/PHPMailer

<?php 
/* 
to:  郵件接收地址 
subject: 郵件主題 
body: 郵件內(nèi)容 
attachpath:附件地址 
cc: 郵件抄送地址 
bcc: 郵件暗抄送地址 
*/ 
function send_mail($to, $subject="", $body="", $attachpath="", $cc="", $bcc="") 
{ 
 // 對郵件內(nèi)容進(jìn)行必要的過濾 
 $body = eregi_replace("[\]",'',$body);  
 
 // 設(shè)定時區(qū) 
 date_default_timezone_set("PRC"); 
 
 require_once('class.phpmailer.php'); 
 require_once("class.smtp.php"); 
 
 // 實例化PHPMailer對象 
 $mail = new PHPMailer();     
 
 // 設(shè)定郵件編碼,默認(rèn)ISO-8859-1,如果發(fā)中文此項必須設(shè)置為 UTF-8 
 $mail->CharSet ="UTF-8"; 
 
 // 設(shè)定使用SMTP服務(wù) 
 $mail->IsSMTP(); 
 
 // 啟用 SMTP 驗證功能 
 $mail->SMTPAuth = true; 
 
 // SMTP 安全協(xié)議 
 $mail->SMTPSecure = "ssl"; 
 
 // SMTP 服務(wù)器 
 $mail->Host = "smtp.qq.com"; 
 
 // SMTP服務(wù)器的端口號 
 $mail->Port = 465; 
 
 // SMTP服務(wù)器用戶名和密碼 
 $mail->Username = "xxxxxx@qq.com";  
 $mail->Password = "xxxxxx";   
 
 // 設(shè)置發(fā)件人地址和名稱,名稱可有可無 
 $mail->SetFrom("xxxxxx@qq.com", "xxxxxx"); 
 
 // 設(shè)置郵件接收地址和名稱,第二個參數(shù)無所謂。必須用AddAddress添加郵件接收地址。AddReplyTo方法沒什么用。 
 //$mail->AddReplyTo("xxxxxx@163.com", "xxxxxx"); 
 $mailaddrs = split(",", $to); 
 foreach ($mailaddrs as $addres) 
 { 
 //校驗郵箱地址是否合法 
 if (filter_var($addres, FILTER_VALIDATE_EMAIL)) 
 { 
  $mail->AddAddress($addres);  
 } 
 } 
 
 // 設(shè)置郵件抄送地址 
 if ($cc != "") 
 { 
 $ccaddrs = split(",", $cc); 
 foreach ($ccaddrs as $ccaddr) 
 { 
  //校驗郵箱地址是否合法 
  if (filter_var($ccaddr, FILTER_VALIDATE_EMAIL)) 
  { 
  $mail->addCC($ccaddr);  
  } 
 } 
 } 
 
 // 設(shè)置郵件暗抄送地址,私密發(fā)送 
 if ($bcc != "") 
 { 
 $bccaddrs = split(",", $bcc); 
 foreach ($bccaddrs as $bccaddr) 
 { 
  //校驗郵箱地址是否合法 
  if (filter_var($bccaddr, FILTER_VALIDATE_EMAIL)) 
  { 
  $mail->addBCC($bccaddr);  
  } 
 } 
 } 
 
 // 設(shè)置郵件主題 
 $mail->Subject = $subject; 
 
 // 可選項,向下兼容考慮 
 $mail->AltBody = "為了查看該郵件,請切換到支持 HTML 的郵件客戶端"; 
 
 // 設(shè)置郵件內(nèi)容 
 $mail->MsgHTML($body);     
 
 //使用HTML格式發(fā)送郵件 
 $mail->IsHTML(true); 
 
 // 添加附件,第一個參數(shù)是附件地址,第二個參數(shù)附件名 
 //$mail->AddAttachment("images/phpmailer.gif"); 
 $mail->AddAttachment($attachpath); 
 
 // 發(fā)送郵件 
 if(!$mail->Send()) 
 { 
 echo "發(fā)送失?。?quot; . $mail->ErrorInfo . PHP_EOL; 
 } 
 else 
 { 
 echo "恭喜,郵件發(fā)送成功!" . PHP_EOL; 
 } 
} 
$emailAddr = "xxxxxx@163.com,xxxxxx@qq.com,"; 
send_mail($emailAddr, "測試郵件", "<h2>使用PHPMailer類發(fā)送的郵件。</h2>", "mail/20170216.gif", "xxxxxx@qq.com", ""); 
?>

測試結(jié)果:

如何使用PHPMailer發(fā)送郵件

說明:第44行的SMTP服務(wù)器密碼為qq郵箱授權(quán)碼。

登錄QQ郵箱->設(shè)置->賬戶->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務(wù)->生成授權(quán)碼

如何使用PHPMailer發(fā)送郵件

感謝各位的閱讀!關(guān)于“如何使用PHPMailer發(fā)送郵件”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI