tp5 使用郵箱發(fā)送功能 PHPMailer

PHPMailer

PHPMailer 是一個(gè)封裝好的 PHP 郵件發(fā)送類,支持發(fā)送 HTML 內(nèi)容的電子郵件,以及可以添加附件發(fā)送,并不像 PHP 本身 mail() 函數(shù)需要服務(wù)器環(huán)境支持,您只需要設(shè)置郵件服務(wù)器以相關(guān)信息就能實(shí)現(xiàn)郵件發(fā)送功能。

PHP擴(kuò)展支持

PHPMailer 需要 PHP 的 sockets 擴(kuò)展支持,而登錄 QQ 郵箱 SMTP 服務(wù)器則必須通過(guò) SSL 加密,故 PHP 還得包含 openssl 的支持。

image.png

以qq郵箱為例
1、開(kāi)啟IMAP/SMTP服務(wù)

登錄qq郵箱,首先需要開(kāi)啟郵箱的SMTP服務(wù)。
找到qq郵箱>設(shè)置>賬戶>POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務(wù)

image.png

開(kāi)啟之后,要記得生成授權(quán)碼,授權(quán)碼一定要是最新的。

2、安裝phpmailer

(1)composer 安裝
composer require phpmailer/phpmailer
或者在composer.json中手動(dòng)增加一個(gè) phpmailer require

"require": {
        "php": ">=5.4.0",
        "phpmailer/phpmailer": "^5.2"
    },

(2) 或者gitHub 下載 https://github.com/PHPMailer/PHPMailer
(3)或官網(wǎng)下載 https://sourceforge.net/projects/phpmailer/files/latest/download

3、配置參數(shù)

為了分便使用可以把配置函數(shù)寫(xiě)到common.php公共函數(shù)文件中如

 /**
  * 配置youji
  */
function SendMail($address,$title,$message){
    vendor ('phpmailer.phpmailer.src.PHPMailer');
    $mail = new \PHPMailer();
     // 設(shè)置PHPMailer使用SMTP服務(wù)器發(fā)送Email
    $mail->IsSMTP();
    // 設(shè)置郵件的字符編碼,若不指定,則為'UTF-8'
    $mail->CharSet='UTF-8';
    // 添加收件人地址,可以多次使用來(lái)添加多個(gè)收件人
    $mail->AddAddress($address);
    // 設(shè)置郵件正文
    $mail->Body=$message;
    //設(shè)置發(fā)件人郵箱地址 這里填入上述提到的“發(fā)件人郵箱”
    $mail->From='***@qq.com';
    //設(shè)置發(fā)件人姓名(昵稱) 任意內(nèi)容,顯示在收件人郵件的發(fā)件人郵箱地址前的發(fā)件人姓名
    $mail->FromName='皮特張';
    // 設(shè)置郵件標(biāo)題
    $mail->Subject=$title;
    // 設(shè)置SMTP服務(wù)器。
    $mail->Host='smtp.qq.com';
    // 設(shè)置為"需要驗(yàn)證"
    $mail->SMTPAuth=true;
    //smtp登錄的賬號(hào) 這里填入字符串格式的qq號(hào)即可
    $mail->Username='****';
    //smtp登錄的密碼 使用生成的授權(quán)碼 你的最新的授權(quán)碼
    $mail->Password='*********';
    // 發(fā)送郵件。    成功返回true或false
   return($mail->Send());
}

    /**
     * 調(diào)用發(fā)送郵件
     */
    public function testmailer(){
        $res = $this->SendMail('***@qq.com','發(fā)送標(biāo)題','發(fā)送成功了耶');
        if(!$res){
            return $this->error('發(fā)送郵件失敗');
        }
        return $this->success('發(fā)送郵件成功','/');
    }
4、發(fā)送成功
image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容