TP6使用PHPMailer发送邮件

1.先安装composer,官网地址:getcomposer.org/download/

2.composer安装中一定要选择正确的php版本,即php.exe文件,否则无法使用

3.修改composer的镜像源为国内地址:

bash 复制代码
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

(由于防火墙问题,不修改镜像源可能无法下载插件)

4.打开命令行,切换到网站根目录,执行命令:composer require phpmailer/phpmailer,会自动安装到TP6的vendor扩展目录中。

5.TP6中引入模块及发送邮件函数

php 复制代码
//发送邮件模块引入
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
//发送邮件函数
function postEmail($email,$title){
    // 创建一个 PHPMailer 实例
    $mail = new PHPMailer(true);

    try {
        // 服务器设置
        $mail->SMTPDebug = SMTP::DEBUG_OFF; // 关闭调试输出
        $mail->isSMTP(); // 使用 SMTP
        $mail->Host = 'smtp.sina.com'; // 设置 SMTP 服务器,可根据实际更改
        $mail->SMTPAuth = true; // 启用 SMTP 身份验证
        $mail->Username = '***'; // 你的 邮箱地址
        $mail->Password = '***'; // 你的 邮箱授权码
        $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // 使用 SSL 加密
        $mail->Port = 465; // 端口号

        // 设置字符编码为 UTF-8
        $mail->CharSet = 'UTF-8';

        // 收件人设置
        $mail->setFrom('***', '***'); // 发件人邮箱和姓名
        $mail->addAddress($email, '用户'); // 收件人邮箱和姓名

        //生成6位验证码
        $yzm =  rand(100000, 999999);
        //session赋值
        Session::set('yzm',$yzm);
        // 内容设置
        $mail->isHTML(true); // 设置邮件格式为 HTML
        $mail->Subject = $title; // 邮件主题
        $mail->Body = '<p style="font-size:18px;color:#666;">验证码:'.$yzm.'</p>'; // 邮件正文(HTML 格式)
        $mail->AltBody = 'This is a email sent using PHPMailer from snow-north.cn'; // 邮件正文(纯文本格式)

        // 发送邮件
        $mail->send();
        return 'success';
    } catch (Exception $e) {
        return "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
    }
}
相关推荐
csdn_aspnet19 分钟前
ASP.NET Core 中的依赖注入
后端·asp.net·di·.net core
昊坤说不出的梦1 小时前
【实战】监控上下文切换及其优化方案
java·后端
疯狂踩坑人1 小时前
【Python版 2026 从零学Langchain 1.x】(二)结构化输出和工具调用
后端·python·langchain
橘子师兄3 小时前
C++AI大模型接入SDK—ChatSDK封装
开发语言·c++·人工智能·后端
@ chen3 小时前
Spring事务 核心知识
java·后端·spring
一点技术4 小时前
基于SpringBoot的选课调查系统
java·spring boot·后端·选课调查系统
RANCE_atttackkk5 小时前
Springboot+langchain4j的RAG检索增强生成
java·开发语言·spring boot·后端·spring·ai·ai编程
好好研究7 小时前
Spring Boot - Thymeleaf模板引擎
java·spring boot·后端·thymeleaf
爬山算法7 小时前
Hibernate(76)如何在混合持久化环境中使用Hibernate?
java·后端·hibernate
她说..7 小时前
策略模式+工厂模式实现单接口适配多审核节点
java·spring boot·后端·spring·简单工厂模式·策略模式