1.安裝插件
composer require phpmailer/phpmailer
2.application下的common.php文件里加上一下代碼,可自己根據需求稍加修改,我用的是驗證碼
use PHPMailer\PHPMailer\PHPMailer;//引入郵件類 function mailto($user,$code) { //實例化PHPMailer核心類 $mail = new PHPMailer(); //$mail->SMTPDebug = 1;#是否啟用smtp的debug進行調試 開發環境建議開啟 生產環境注釋掉即可 默認關閉debug調試模式 $mail->isSMTP(); #使用smtp鑒權方式發送郵件 $mail->SMTPAuth = true; #smtp需要鑒權 這個必須是true $mail->Host = 'smtp.qq.com'; #鏈接qq域名郵箱的服務器地址 $mail->SMTPSecure = 'ssl'; #設置使用ssl加密方式登錄鑒權 $mail->Port = 465; #設置ssl連接smtp服務器的遠程服務器端口號 $mail->CharSet = 'UTF-8'; #設置發送的郵件的編碼 $mail->FromName = 'xxx'; #設置發件人昵稱 顯示在收件人郵件的發件人郵箱地址前的發件人姓名 $mail->Username = 'xxx@qq.com'; #smtp登錄的賬號 $mail->Password = 'xxxx'; #smtp登錄的密碼 使用生成的授權碼 $mail->From = 'xxx@qq.com'; #設置發件人郵箱地址 同登錄賬號 //郵件正文是否為html編碼 $mail->isHTML(true); //設置收件人郵箱地址 $mail->addAddress($user); //添加多個收件人 則多次調用方法即可 //$mail->addAddress('xxx@qq.com'); //添加該郵件的主題 $mail->Subject = '驗證碼'; //添加郵件正文 $mail->Body = "您的驗證碼是" . $code; //為該郵件添加附件 //$mail->addAttachment('./example.pdf'); //發送郵件 返回狀態 if ($mail->send()) { //成功 return json_encode(['code' => '1']); } else { //失敗 return json_encode(['code' => '0']); } }
3.在控制器調用函數,在其他地方也應可以
public function emali(){ mailto('xxxxx@qq.com', '3652'); }