thinkphp5.1發送郵件的方法


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');
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM