使用PHPMailer和QQ 邮箱发送邮件

使用PHPMailer和QQ 邮箱发送邮件

1. 安装 PHPMailer

你可以使用 Composer 来安装PHPMailer。在项目根目录下执行以下命令:

composer require phpmailer/phpmailer

2. 配置 QQ 邮箱

  1. 登录 QQ 邮箱,进入 “设置” -> “账户”。
  2. 找到 “POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV 服务”,开启 “SMTP 服务”。
  3. 按照提示通过手机短信获取授权码,这个授权码将用于替代 QQ 邮箱密码进行登录验证。

3. 发送邮件的 PHP 代码示例

<?php
require 'vendor/autoload.php';

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;

// 创建PHPMailer实例
$mail = new PHPMailer(true);

try {
    // 配置SMTP
    $mail->isSMTP();
    $mail->Host       ='smtp.qq.com';  // QQ邮箱SMTP服务器
    $mail->SMTPAuth   = true;
    $mail->Username   = '你的QQ邮箱';  // 你的QQ邮箱地址
    $mail->Password   = '你的QQ邮箱授权码';  // 刚才获取的授权码
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
    $mail->Port       = 587;

    // 设置发件人
    $mail->setFrom('你的QQ邮箱', '发件人姓名');

    // 添加收件人
    $mail->addAddress('收件人邮箱地址', '收件人姓名');

    // 添加附件(可选)
    // $mail->addAttachment('/path/to/file');

    // 邮件内容
    $mail->isHTML(true);
    $mail->Subject = 'PHP通过QQ邮箱发送邮件测试';
    $mail->Body    = '这是一封通过PHP和PHPMailer发送的邮件,<b>测试HTML内容</b>';
    $mail->AltBody = '这是纯文本内容,用于不支持HTML的邮件客户端';

    // 发送邮件
    if ($mail->send()) {
        echo '邮件发送成功';
    } else {
        echo '邮件发送失败: '. $mail->ErrorInfo;
    }
} catch (Exception $e) {
    echo "邮件发送失败: ". $mail->ErrorInfo;
}

注意: 确保你的 PHP 环境安装了openssl扩展,因为PHPMailer在使用 TLS 加密连接时需要该扩展。