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}";
    }
}
相关推荐
一 乐24 分钟前
婚纱摄影网站|基于ssm + vue婚纱摄影网站系统(源码+数据库+文档)
前端·javascript·数据库·vue.js·spring boot·后端
码事漫谈2 小时前
Protocol Buffers 编码原理深度解析
后端
码事漫谈2 小时前
gRPC源码剖析:高性能RPC的实现原理与工程实践
后端
踏浪无痕3 小时前
AI 时代架构师如何有效成长?
人工智能·后端·架构
程序员小假3 小时前
我们来说一下无锁队列 Disruptor 的原理
java·后端
武子康5 小时前
大数据-209 深度理解逻辑回归(Logistic Regression)与梯度下降优化算法
大数据·后端·机器学习
maozexijr5 小时前
Rabbit MQ中@Exchange(durable = “true“) 和 @Queue(durable = “true“) 有什么区别
开发语言·后端·ruby
源码获取_wx:Fegn08955 小时前
基于 vue智慧养老院系统
开发语言·前端·javascript·vue.js·spring boot·后端·课程设计
独断万古他化5 小时前
【Spring 核心: IoC&DI】从原理到注解使用、注入方式全攻略
java·后端·spring·java-ee
毕设源码_郑学姐5 小时前
计算机毕业设计springboot基于HTML5的酒店预订管理系统 基于Spring Boot框架的HTML5酒店预订管理平台设计与实现 HTML5与Spring Boot技术驱动的酒店预订管理系统开
spring boot·后端·课程设计