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}";
    }
}
相关推荐
Livingbody10 分钟前
【心理咨询师数字孪生对话数据集】标准化为 ShareGPT OpenAI 格式
后端
AQin10122 小时前
IP 🆚 MAC,你分得清吗?
后端·网络协议
天涯学馆2 小时前
Solidity 中的高级模式匹配:提升代码的可读性和可维护性
后端·区块链·solidity
郝学胜-神的一滴2 小时前
Spring Boot Actuator 保姆级教程
java·开发语言·spring boot·后端·程序人生
剪刀石头布啊3 小时前
数据口径
前端·后端·程序员
剪刀石头布啊3 小时前
http状态码大全
前端·后端·程序员
jiangxia_10243 小时前
面试系列:什么是JAVA并发编程中的JUC并发工具类
java·后端
用户1512905452203 小时前
踩坑与成长:WordPress、MyBatis-Plus 及前端依赖问题解决记录
前端·后端
A_氼乚3 小时前
JVM运行时数据区相关知识,这篇文档会勘正你的许多理解!(本周会补上更详细的图式)
后端
斜月3 小时前
Springboot 项目加解密的那些事儿
spring boot·后端