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}";
    }
}
相关推荐
大鸡腿同学6 小时前
【成长类】《只有偏执狂才能生存》读书笔记:程序员的偏执型成长地图
后端
0xDevNull6 小时前
MySQL数据冷热分离详解
后端·mysql
AI袋鼠帝6 小时前
OpenClaw(龙虾)最强开源对手!Github 40K Star了,又一个爆火的Agent..
后端
新知图书7 小时前
搭建Spring Boot开发环境
java·spring boot·后端
宸津-代码粉碎机7 小时前
Spring Boot 4.0虚拟线程实战调优技巧,最大化发挥并发优势
java·人工智能·spring boot·后端·python
小码哥_常8 小时前
一个Starter搞定六种防护,Spring Boot API的超强护盾来了
后端
小村儿10 小时前
连载04-最重要的Skill---一起吃透 Claude Code,告别 AI coding 迷茫
前端·后端·ai编程
IT_陈寒11 小时前
Vite的alias配置把我整不会了,原来是这个坑
前端·人工智能·后端
gelald11 小时前
Spring Boot - 自动配置原理
java·spring boot·后端
希望永不加班11 小时前
SpringBoot 集成测试:@SpringBootTest 与 MockMvc
java·spring boot·后端·log4j·集成测试