使用PHPMailer發(fā)送郵件實(shí)例
本文實(shí)例為大家分享了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="") { // 對(duì)郵件內(nèi)容進(jìn)行必要的過(guò)濾 $body = eregi_replace("[\]",'',$body); // 設(shè)定時(shí)區(qū) date_default_timezone_set("PRC"); require_once('class.phpmailer.php'); require_once("class.smtp.php"); // 實(shí)例化PHPMailer對(duì)象 $mail = new PHPMailer(); // 設(shè)定郵件編碼,默認(rèn)ISO-8859-1,如果發(fā)中文此項(xiàng)必須設(shè)置為 UTF-8 $mail->CharSet ="UTF-8"; // 設(shè)定使用SMTP服務(wù) $mail->IsSMTP(); // 啟用 SMTP 驗(yàn)證功能 $mail->SMTPAuth = true; // SMTP 安全協(xié)議 $mail->SMTPSecure = "ssl"; // SMTP 服務(wù)器 $mail->Host = "smtp.qq.com"; // SMTP服務(wù)器的端口號(hào) $mail->Port = 465; // SMTP服務(wù)器用戶名和密碼 $mail->Username = "xxxxxx@qq.com"; $mail->Password = "xxxxxx"; // 設(shè)置發(fā)件人地址和名稱,名稱可有可無(wú) $mail->SetFrom("xxxxxx@qq.com", "xxxxxx"); // 設(shè)置郵件接收地址和名稱,第二個(gè)參數(shù)無(wú)所謂。必須用AddAddress添加郵件接收地址。AddReplyTo方法沒(méi)什么用。 //$mail->AddReplyTo("xxxxxx@163.com", "xxxxxx"); $mailaddrs = split(",", $to); foreach ($mailaddrs as $addres) { //校驗(yàn)郵箱地址是否合法 if (filter_var($addres, FILTER_VALIDATE_EMAIL)) { $mail->AddAddress($addres); } } // 設(shè)置郵件抄送地址 if ($cc != "") { $ccaddrs = split(",", $cc); foreach ($ccaddrs as $ccaddr) { //校驗(yàn)郵箱地址是否合法 if (filter_var($ccaddr, FILTER_VALIDATE_EMAIL)) { $mail->addCC($ccaddr); } } } // 設(shè)置郵件暗抄送地址,私密發(fā)送 if ($bcc != "") { $bccaddrs = split(",", $bcc); foreach ($bccaddrs as $bccaddr) { //校驗(yàn)郵箱地址是否合法 if (filter_var($bccaddr, FILTER_VALIDATE_EMAIL)) { $mail->addBCC($bccaddr); } } } // 設(shè)置郵件主題 $mail->Subject = $subject; // 可選項(xiàng),向下兼容考慮 $mail->AltBody = "為了查看該郵件,請(qǐng)切換到支持 HTML 的郵件客戶端"; // 設(shè)置郵件內(nèi)容 $mail->MsgHTML($body); //使用HTML格式發(fā)送郵件 $mail->IsHTML(true); // 添加附件,第一個(gè)參數(shù)是附件地址,第二個(gè)參數(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, "測(cè)試郵件", "<h1>使用PHPMailer類發(fā)送的郵件。</h1>", "mail/20170216.gif", "xxxxxx@qq.com", ""); ?>
測(cè)試結(jié)果:
說(shuō)明:第44行的SMTP服務(wù)器密碼為qq郵箱授權(quán)碼。
登錄QQ郵箱->設(shè)置->賬戶->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務(wù)->生成授權(quán)碼
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
PHP框架實(shí)現(xiàn)WebSocket在線聊天通訊系統(tǒng)
這篇文章主要介紹了PHP框架結(jié)合實(shí)現(xiàn)WebSocket在線聊天通訊系統(tǒng),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11ThinkPHP框架獲取最后一次執(zhí)行SQL語(yǔ)句及變量調(diào)試簡(jiǎn)單操作示例
這篇文章主要介紹了ThinkPHP框架獲取最后一次執(zhí)行SQL語(yǔ)句及變量調(diào)試簡(jiǎn)單操作,結(jié)合實(shí)例形式分析了thinkPHP獲取最后一次執(zhí)行SQL語(yǔ)句的getLastSql()及fetchSql()函數(shù)以及使用dump方法變量調(diào)試、E方法輸出錯(cuò)誤信息等操作技巧,需要的朋友可以參考下2018-06-06php處理靜態(tài)頁(yè)面:頁(yè)面設(shè)置緩存時(shí)間實(shí)例
本篇文章主要介紹了php處理靜態(tài)頁(yè)面:頁(yè)面設(shè)置緩存時(shí)間實(shí)例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06IIS 7.5 asp Session超時(shí)時(shí)間設(shè)置方法
這篇文章主要介紹了IIS 7.5中asp Session超時(shí)時(shí)間設(shè)置方法,需要的朋友可以參考一下2017-04-04TP5框架實(shí)現(xiàn)的數(shù)據(jù)庫(kù)備份功能示例
這篇文章主要介紹了TP5框架實(shí)現(xiàn)的數(shù)據(jù)庫(kù)備份功能,結(jié)合實(shí)例形式分析了TP5數(shù)據(jù)庫(kù)備份功能相關(guān)原理及實(shí)現(xiàn)方法,需要的朋友可以參考下2020-04-04讓CodeIgniter數(shù)據(jù)庫(kù)緩存自動(dòng)過(guò)期的處理的方法
按官方的說(shuō)法,緩存設(shè)置后永不過(guò)期,除非你調(diào)用方法主動(dòng)刪除。這篇文章主要介紹了CodeIgniter數(shù)據(jù)庫(kù)緩存自動(dòng)過(guò)期的處理,需要的朋友可以參考下2014-06-06php結(jié)合GD庫(kù)實(shí)現(xiàn)中文驗(yàn)證碼的簡(jiǎn)單方法
這篇文章主要給大家介紹了關(guān)于php結(jié)合GD庫(kù)實(shí)現(xiàn)中文驗(yàn)證碼的簡(jiǎn)單方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01修改apache配置文件去除thinkphp url中的index.php
這篇文章主要介紹了修改apache配置文件去除thinkphp url中的index.php的方法,大家參考使用吧2014-01-01