最近因為工作的需要,要實現給我們的網站使用者發送郵件的需求,所以下面這篇文章主要給大家介紹了關於ThinkPHP3.2利用QQ郵箱/163郵箱通過PHPMailer
發送郵件的方法,在實際的網站開發中
發送郵件是很常見的,例如找回密碼等。所以PHP
發送郵件是我們必須要熟悉掌握的,廢話不講了,一起來看文章吧
前言
我之前一直使用163郵箱發送需要處理的檔案,但是如果操作過於頻繁【或者有別的問題】,會導致發送失敗,相反現在用QQ的貌似還沒出現過類似情況,不過QQ郵箱配置和163有一丟丟不一樣,我還是貼一下,怕朋友們踩到坑,下面話不多說了,來一起看看詳細的介紹吧。
PHPMailer的優點:
可運行在任何平台之上
支援SMTP驗證
發送郵時指定多個收件者,抄送地址,暗送地址和回複地址;註:添加抄送、暗送僅win平台下smtp方式支援
支援多種郵件編碼包括:8bit,base64,binary和quoted-printable
支援冗餘SMTP伺服器,即可以指定主smtp伺服器位址也只可以指定備份smtp伺服器
支援帶附件的郵件,可以為郵件添加任意格式的附件—當然得你的伺服器有足夠大的頻寬支撐
自訂郵件標頭資訊,這跟php中通過header函數發送頭資訊類似
支援將郵件內文製作成HTMl內容,那麼就可以在郵件內文中插入圖片
靈活的debug支援
經測試相容的SMTP伺服器包括:Sendmail,qmail,Postfix,Imail,Exchange等
1.下載PHPMailer
因為有蠻多版本,我這裡把我用的封裝好的版本分享出來,用其他版本的朋友可以用自己的就好
下載地址:http://xiazai.jb51.net/201711/yuanma/phpmailer(jb51.net).rar
2.放置PHPMailer
我是在根目錄建立了名為【Plugin】的專門放各類外掛程式的檔案夾,然後直接將PHPMailer放在Plugin檔案夾下
3.美滋滋地擼碼吧
我將我這邊的碼放上來,大家可以根據需要修改
function sendMail($to,$title,$content){ require('./Plugin/phpmailer/class.phpmailer.php'); try { $mail = new \PHPMailer(true); $mail->IsSMTP(); $mail->SMTPSecure = 'ssl'; $mail->CharSet = 'UTF-8'; $mail->SMTPAuth = true; //開啟認證 $mail->Port = 465; //網易為25 $mail->Host = "smtp.qq.com"; $mail->Username = "******"; //qq此處為郵箱首碼名 163為郵箱名 $mail->Password = "******"; $mail->AddReplyTo("******@qq.com", "******");//回複地址 $mail->From = "******@qq.com"; $mail->FromName = '******'; $mail->AddAddress($to); $mail->Subject = $title; $mail->Body = $content; $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; //當郵件不支援html時備用顯示 $mail->WordWrap = 80; // 設定每行字串的長度//$mail->AddAttachment("f:/test.png"); //可以添加附件 $mail->IsHTML(true); $mail->Send(); echo '郵件已發送'; } catch (phpmailerException $e) { echo "郵件發送失敗:" . $e->errorMessage(); } }
直接將上述代碼更改複製進你的控制機即可
需要注意的地方:
$mail->Port = 465; //網易163 25 $mail->Host = "smtp.qq.com"; $mail->Username = "**"; //qq此處為郵箱首碼名 163為郵箱名 $mail->Password = "******";
這一塊,網易的Port為25
Username的話,網易直接使用郵箱名即可,QQ郵箱請輸入郵箱首碼【使用者名稱】『eg.1214982635@qq.com 請輸入1214982635』
Password網易直接輸入郵箱密碼即可【有授權碼輸授權碼】,QQ請輸授權碼,發個簡訊就能產生
至此已經可以發送郵件了,附上兩個郵箱互相發送成功的
總結