PHPMailer 發郵件

在用戶註冊、找回密碼等場景常用發郵件的功能,PHPMailer是一個很好的實現方案php

一、準備

SMTP主機:smtp.qq.com
SMTP端口:465
SMTP的主機能夠從QQ郵箱獲取:路徑是 設置->賬戶->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務->IMAP/SMTP服務->開啓服務
注:這裏要獲取受權碼
clipboard.pnghtml

二、代碼

<?php
// 引入PHPMailer的核心文件
include("./Phpmailer/class.phpmailer.php");
include("./Phpmailer/class.smtp.php");
// 實例化PHPMailer核心類
$mail = new \PHPMailer();
// 是否啓用smtp的debug進行調試 開發環境建議開啓 生產環境註釋掉便可 默認關閉debug調試模式
$mail->SMTPDebug = 1;
// 使用smtp鑑權方式發送郵件
$mail->isSMTP();
// smtp須要鑑權 這個必須是true
$mail->SMTPAuth = true;
// 連接qq域名郵箱的服務器地址
$mail->Host = 'smtp.qq.com';
// 設置使用ssl加密方式登陸鑑權
$mail->SMTPSecure = 'ssl';
// 設置ssl鏈接smtp服務器的遠程服務器端口號
$mail->Port = 465;
// 設置發送的郵件的編碼
$mail->CharSet = 'UTF-8';
// 設置發件人暱稱 顯示在收件人郵件的發件人郵箱地址前的發件人姓名
$mail->FromName = 'John';
// smtp登陸的帳號 QQ郵箱便可
$mail->Username = '695634709@qq.com';
// smtp登陸的密碼 第一步中qq郵箱生成的受權碼
$mail->Password = 'xxxx';//從QQ郵箱設置->賬戶->smtp->開啓獲取的受權碼,請根據須要獲取
// 設置發件人郵箱地址 同登陸帳號
$mail->From = '695634709@qq.com';
// 郵件正文是否爲html編碼 注意此處是一個方法
$mail->isHTML(true);
// 添加多個收件人 則屢次調用方法便可,這是示例郵箱,正常發送請填寫可用的收件箱
$aEmail = [
    '695634709@qq.com',
    'bbb@163.com',
    'ccc@126.com'
];
foreach ($aEmail as $addr) {
    // 設置收件人郵箱地址
    $mail->addAddress($addr);
    // 添加該郵件的主題
    $mail->Subject = 'test郵件主題';
    // 添加郵件正文
    $mail->Body = "<h1>send mail to {$addr}</h1>";
    // 爲該郵件添加附件
    $mail->addAttachment('./attachment/1.jpg');
    $mail->addAttachment('./attachment/2.jpg');
    $mail->addAttachment('./attachment/3.jpg');
}

// 發送郵件 返回狀態
$status = $mail->send();
if ($status) {
    echo "成功";
} else {
    echo "失敗";
}

三、引用連接

QQ郵箱: https://mail.qq.com
PHPMailer類庫: https://github.com/PHPMailer/...
原文: https://segmentfault.com/a/11...
相關文章
相關標籤/搜索