tp5傳送電子郵件
阿新 • • 發佈:2018-11-26
一、開啟郵箱的SMTP服務
QQ郵箱設定方式:
點選設定:
點選賬戶
在最下面,有個開啟
點開啟會彈出個窗,上面有密碼,記下密碼
163郵箱設定方式:
其他郵箱都一樣,獲取授權碼就行
二、下載類庫檔案
https://gitee.com/joytom/CSDN/tree/master
三、下載完成後放到vendor下面
四、執行操作
公共檔案單獨寫一個傳送郵件的公共方法:
common.php
<?php function sendEmail($data = []) { Vendor('phpmailer.phpmailer'); $mail = new \phpmailer\PHPMailer(); //例項化 $mail->IsSMTP(); // 啟用SMTP $mail->Host = 'smtp.qq.com'; //SMTP伺服器 以QQ郵箱為例子 $mail->Port = 465; //郵件傳送埠 $mail->SMTPAuth = true; //啟用SMTP認證 $mail->SMTPSecure = "ssl"; // 設定安全驗證方式為ssl $mail->CharSet = "UTF-8"; //字符集 $mail->Encoding = "base64"; //編碼方式 $mail->Username = '
[email protected]'; //你的郵箱 $mail->Password = 'SMTP的那個密碼'; //你的密碼 $mail->Subject = '郵件標題'; //郵件標題 $mail->From = '[email protected]'; //發件人地址(也就是你的郵箱) $mail->FromName = 'xxx'; //發件人姓名 if($data && is_array($data)){ foreach ($data as $k=>$v){ $mail->AddAddress($v['user_email'], "親"); //新增收件人(地址,暱稱) $mail->IsHTML(true); //支援html格式內容 $mail->Body = $v['content']; //郵件主體內容 //傳送成功就刪除 if ($mail->Send()) { echo '傳送成功'; }else{ echo "Mailer Error: ".$mail->ErrorInfo;// 輸出錯誤資訊 } } } }
index.php(控制器下呼叫該方法)
<?php namespace app\index\controller; use think\Controller; use think\Request; class Index extends Controller { public function index() { if(request()->isPost()) { sendEmail([['user_email'=>'收件人的郵箱','content'=>'郵箱資訊的內容']]); } else { return $this->fetch('index'); } } }