在用戶註冊、找回密碼等場景常用發郵件的功能,PHPMailer是一個很好的實現方案php
SMTP主機:smtp.qq.com
SMTP端口:465
SMTP的主機能夠從QQ郵箱獲取:路徑是 設置->賬戶->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務->IMAP/SMTP服務->開啓服務
注:這裏要獲取受權碼
html
<?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...