thinkPHP使用163郵箱發送郵件
阿新 • • 發佈:2017-10-14
啟用 寫博客 span 地址 use 技術 dma htm 控制
thinkPHP3.2.3使用163郵箱發送郵件
(一) 前言
第一次寫博客,主要就是為了分享一下自己敲代碼的一些心得並整理一下自己的知識以便以後查看。
我原來一直在找通過thinkPHP使用QQ郵箱發送郵件的教程,發現最後都卡在郵箱服務器密碼這一塊,好像是因為沒有設SSL,後來我發現用163郵箱很容易實現,最後決定使用163郵箱。
(二) 前期準備
首先得有個163郵箱的賬號。註冊登錄後進入設置開啟POP3/SMTP服務器。
需要手機驗證,驗證後會讓你自己輸入授權碼,記住這個授權碼,後面會用到。
如果原來已經開啟了而忘記授權碼的話可以去手機短信裏面翻翻,可能可以找到;或者點擊客戶端授權碼進行重置
(三) 代碼部分
PHPMailer下載,下載後把PHPMailer解壓放在/ThinkPHP/Library/Vendor目錄下
config.php 配置:
‘MAIL_HOST‘ =>‘smtp.163.com‘,//smtp服務器的名稱 ‘MAIL_SMTPAUTH‘ =>TRUE, //啟用smtp認證 ‘MAIL_USERNAME‘ =>‘zha****[email protected]‘,//發件人的郵箱名 ‘MAIL_PASSWORD‘ =>‘olagbqsyeyhilcwu‘,//163郵箱發件人授權密碼 ‘MAIL_FROM‘ =>‘zha****[email protected]‘,//發件人郵箱地址 ‘MAIL_FROMNAME‘=>‘天空還下著雪‘,//發件人姓名 ‘MAIL_CHARSET‘ =>‘utf-8‘,//設置郵件編碼 ‘MAIL_ISHTML‘ =>TRUE, // 是否HTML格式郵件
function.php公共函數:
/* * 發送郵件 * @param $to string * @param $title string * @param $content string * @return bool * */ function sendMail($to, $title, $content) { Vendor(‘PHPMailer.PHPMailerAutoload‘);$mail = new PHPMailer(); //實例化 $mail->IsSMTP(); // 啟用SMTP $mail->Host=C(‘MAIL_HOST‘); //smtp服務器的名稱(這裏以QQ郵箱為例) $mail->SMTPAuth = C(‘MAIL_SMTPAUTH‘); //啟用smtp認證 $mail->Username = C(‘MAIL_USERNAME‘); //發件人郵箱名 $mail->Password = C(‘MAIL_PASSWORD‘) ; //163郵箱發件人授權密碼 $mail->From = C(‘MAIL_FROM‘); //發件人地址(也就是你的郵箱地址) $mail->FromName = C(‘MAIL_FROMNAME‘); //發件人姓名 $mail->AddAddress($to,"尊敬的客戶"); $mail->WordWrap = 50; //設置每行字符長度 $mail->IsHTML(C(‘MAIL_ISHTML‘)); // 是否HTML格式郵件 $mail->CharSet=C(‘MAIL_CHARSET‘); //設置郵件編碼 $mail->Subject =$title; //郵件主題 $mail->Body = $content; //郵件內容 $mail->AltBody = "這是一個純文本的身體在非營利的HTML電子郵件客戶端"; //郵件正文不支持HTML的備用顯示 return($mail->Send()); }
最後在控制器中調用sendMail()即可。
thinkPHP使用163郵箱發送郵件