首頁  >  文章  >  後端開發  >  ThinkPHP3.2利用QQ信箱/163郵件信箱透過PHPMailer傳送郵件的方法_php實例

ThinkPHP3.2利用QQ信箱/163郵件信箱透過PHPMailer傳送郵件的方法_php實例

韦小宝
韦小宝原創
2017-12-04 13:24:331623瀏覽

最近因為工作的需要,要實現給我們的網站用戶發送郵件的需求,所以下面這篇文章主要給大家介紹了關於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請輸授權碼,發個簡訊就能產生

至此已經可以發送郵件了,附上兩個郵箱互相發送成功的截圖

總結

#以上就是這篇文章的所有內容,希望對大家學習PHP發送郵件有所幫助吧。 ###############相關推薦:###################ThinkPHP使用PHPMailer傳送郵件的範例###################################################################### ########PHP怎麼寄郵件############如何用phpmaill傳送郵件######

以上是ThinkPHP3.2利用QQ信箱/163郵件信箱透過PHPMailer傳送郵件的方法_php實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn