使用tp5+gmail 發送郵件

1.準備工做php

1.開啓服務器端口
2.開啓php.ini中的配置
;extension=php_sockets.dll
;extension=php_openssl.dll這兩行去掉分號
3.谷歌郵箱
4.服務器要能連接谷歌,有外網
5.谷歌郵箱要開啓imap訪問,
6.谷歌帳號要開啓低安全性應用登錄認證。開啓地址:  https://myaccount.google.com/lesssecureapps

2.郵箱要開啓imap訪問git

在能訪問外網的環境中,登陸谷歌帳號,開啓服務

 

3.郵箱開啓低安全性應用登陸認證,訪問鏈接開啓github

 

4.在tp5拓展extend目錄放入PHPMailer拓展https://github.com/zhangyouwu/phpmailer.gitapi

5.控制器方法安全

<?php
namespace app\api\controller;
use think\Controller;
use think\Db;
use phpmailer\PHPMailer;
class Test extends Controller
{
   
/**
 * 發送郵箱
 * @param type $data 郵箱隊列數據 包含郵箱地址 內容
 */
function sendMail() {
   
    $mail = new PHPMailer();//實例化
    $mail->CharSet='UTF-8';//設置字符集
    //var_dump($toarr);exit();
    $mail->IsHTML(true);//是否使用HTML格式
    //使用smtp鑑權方式發送郵件
    $mail->isSMTP();
    //smtp須要鑑權 這個必須是true
    $mail->SMTPAuth = true;
   
  /*
   // qq 郵箱的 smtp服務器地址,這裏固然也能夠寫其餘的 smtp服務器地址
    $mail->Host = 'smtp.qq.com';
     //smtp登陸的帳號 這裏填入字符串格式的qq號便可
    $mail->Username = "6023xxx02@qq.com";
     // 這個就是以前獲得的受權碼,一共16位
    $mail->Password = "hilmigjuhqxibdif";
    $mail->setFrom("6023xxx02@qq.com", "zzz");
    // $to 爲收件人的郵箱地址,若是想一次性發送向多個郵箱地址,則只須要將下面這個方法屢次調用便可
    $mail->addAddress("zhangyouwu1018@gmail.com"); */  
    
    $mail->Host = 'smtp.gmail.com';
    $mail->Username = "zhangyouwu1018@gmail.com";
    $mail->Password = "zyw6023xxx02";
    $mail->setFrom("zhangyouwu1018@gmail.com", "測試");
    $mail->addAddress("6023xxx02@qq.com");   

   
    // 該郵件的主題
    $mail->Subject = "會議通知";
    // 該郵件的正文內容
    $mail->Body = "測試,今天下午3點開會";
    
    $mail->SMTPSecure = 'ssl';
    // 設置ssl鏈接smtp服務器的遠程服務器端口號
    $mail->Port = 465;

    // 使用 send() 方法發送郵件
    if(!$mail->send()) {
        //return "1";
        return '發送失敗: ' . $mail->ErrorInfo;
    } else {
        return "0";
        //return "發送成功";
    }
}


}
相關文章
相關標籤/搜索