萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> 使用PHPMailer發送郵件實例

使用PHPMailer發送郵件實例

小編推薦的這篇文章介紹了使用PHPMailer發送郵件實例,非常實用,有興趣的同學快來看看吧。

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服務->生成授權碼

copyright © 萬盛學電腦網 all rights reserved