使用PHPMailer發(fā)送郵件實例
本文實例為大家分享了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)容進行必要的過濾 $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ā)送失敗:" . $mail->ErrorInfo . PHP_EOL; } else { echo "恭喜,郵件發(fā)送成功!" . PHP_EOL; } } $emailAddr = "xxxxxx@163.com,xxxxxx@qq.com,"; send_mail($emailAddr, "測試郵件", "<h1>使用PHPMailer類發(fā)送的郵件。</h1>", "mail/20170216.gif", "xxxxxx@qq.com", ""); ?>
測試結(jié)果:
說明:第44行的SMTP服務(wù)器密碼為qq郵箱授權(quán)碼。
登錄QQ郵箱->設(shè)置->賬戶->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務(wù)->生成授權(quán)碼
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
PHP框架實現(xiàn)WebSocket在線聊天通訊系統(tǒng)
這篇文章主要介紹了PHP框架結(jié)合實現(xiàn)WebSocket在線聊天通訊系統(tǒng),非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-11-11ThinkPHP框架獲取最后一次執(zhí)行SQL語句及變量調(diào)試簡單操作示例
這篇文章主要介紹了ThinkPHP框架獲取最后一次執(zhí)行SQL語句及變量調(diào)試簡單操作,結(jié)合實例形式分析了thinkPHP獲取最后一次執(zhí)行SQL語句的getLastSql()及fetchSql()函數(shù)以及使用dump方法變量調(diào)試、E方法輸出錯誤信息等操作技巧,需要的朋友可以參考下2018-06-06php處理靜態(tài)頁面:頁面設(shè)置緩存時間實例
本篇文章主要介紹了php處理靜態(tài)頁面:頁面設(shè)置緩存時間實例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06IIS 7.5 asp Session超時時間設(shè)置方法
這篇文章主要介紹了IIS 7.5中asp Session超時時間設(shè)置方法,需要的朋友可以參考一下2017-04-04TP5框架實現(xiàn)的數(shù)據(jù)庫備份功能示例
這篇文章主要介紹了TP5框架實現(xiàn)的數(shù)據(jù)庫備份功能,結(jié)合實例形式分析了TP5數(shù)據(jù)庫備份功能相關(guān)原理及實現(xiàn)方法,需要的朋友可以參考下2020-04-04讓CodeIgniter數(shù)據(jù)庫緩存自動過期的處理的方法
按官方的說法,緩存設(shè)置后永不過期,除非你調(diào)用方法主動刪除。這篇文章主要介紹了CodeIgniter數(shù)據(jù)庫緩存自動過期的處理,需要的朋友可以參考下2014-06-06php結(jié)合GD庫實現(xiàn)中文驗證碼的簡單方法
這篇文章主要給大家介紹了關(guān)于php結(jié)合GD庫實現(xiàn)中文驗證碼的簡單方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01修改apache配置文件去除thinkphp url中的index.php
這篇文章主要介紹了修改apache配置文件去除thinkphp url中的index.php的方法,大家參考使用吧2014-01-01