TP5使用PHPMAILER發送郵件


TP使用PHPMAILER發送郵件

1.申請一個SMTP服務的郵箱。

我申請的是smtp.163.com的服務,注意SMTP服務密碼不是登陸密碼,需要單獨設置

2.下載phpmailer類庫文件http://pan.baidu.com/s/1kUNK9vx

3.PHPMAILER類庫中的class.phpmailer.phpclass.smtp.php文件取出來,並重新命名為符合tp5命名規范的Phpmailer.phpSmtp.php

4.在項目根目錄下的extend文件夾中,建立phpmailer文件夾,將上面兩個改名好的文件放入其中。

5.設置Smtp.php的命名空間為namespace phpmailer;並且將CLASS SMTP改為CLASS Smtp

6.設置Phpmailer.php的命名空間為

namespace phpmailer;

Use phpmailer\Smtp;

並且將CLASS SMTP改為CLASS Phpmaiiler;

這兩部很重要,如果使用原來的PHPMAILerSMTP class名的話,TP5報錯 無法找到類文件

7.application/extra 下建立email.php文件 將在服務商申請好的郵箱服務信息,放入其中

代碼如下

<?php
//發送郵件相關配置
return[
    'EMAIL_SMTP'=>'smtp.163.com',
    'EMAIL_ADDRESS'=>'zq_1xx8292xx23@163.com',
    'EMAIL_LOGINNAME'=>'zq_1xx8292xx23@163.com',
    'EMAIL_PASSWORD'=>'xxxx445864742',
    'port'=>25
];

 

8.phpmailer文件夾下建立新的類庫文件Email.php

代碼如下:

<?php
namespace phpmailer;
use phpmailer\Phpmailer;
//發送郵件類
class Email{
    public static function send($address,$title,$message)
    {
        $Email = new Phpmailer();
        //設置PHPMailer使用SMTP服務器發送email
        $Email->IsSMTP();

        //設置字符串編碼
        $Email->CharSet = 'UTF-8';

        //添加收件人地址,可以使用多次來添加多個收件人
        $Email->AddAddress($address);

        //設置郵件正文
        $Email->Body = $message;

        //設置郵件頭的FROM字段
        $Email->From = config('email.EMAIL_ADDRESS');

        //設置發件人名稱
        $Email->FromName = '周起';

        //設置郵件標題
        $Email->Subject = $title;

        //設置SMTP服務器
        $Email->Host = config('email.EMAIL_SMTP');

        //設置為驗證碼
        $Email->SMTPAuth = true;

        //設置用戶名密碼
        $Email->Username = config('email.EMAIL_LOGINNAME');
        $Email->Password = config('email.EMAIL_PASSWORD');

        //發送郵件
        return ($Email->Send());
    }
}

 

 

9.在需要使用到郵件服務的地方調用

//發送驗證郵件 根據業務邏輯修改

$message = ‘hello’;

$title = '周起個人測試郵件';

$data['email'] = 445864742@qq.com  
\phpmailer\Email::send($data['email'],$title,$message);

 


免責聲明!

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



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