当前位置:首页 > php > 正文内容

thinkphp 利用PHPMailer三方类发送邮件

zhangsir3年前 (2022-11-23)php176

1.首先用composer下载PHPMailer,在网站根目录进入命令行输入如下命令即可

composer require phpmailer/phpmailer

2.然后创建文件Ma.php,填写如下代码

<?php
namespace app\controller;
 
use PHPMailer\PHPMailer\PHPMailer;
class Ma{
// 邮件发送
    public function email($toemail,$content)
    {
        //$toemail是要发送的邮箱,$content是发送内容
        $mail = new PHPMailer();
        $mail->isSMTP();// 使用SMTP服务
        $mail->CharSet = "utf8";// 编码格式为utf8,不设置编码的话,中文会出现乱码
        $mail->Host = "smtp.qq.com";// 发送方的SMTP服务器地址
        $mail->SMTPAuth = true;// 是否使用身份验证
        $mail->Username = "**********@qq.com";// 发送方的QQ邮箱用户名,就是你申请QQ的SMTP服务使用的QQ邮箱
        $mail->Password = "**********";// 发送方的邮箱密码,注意用QQ邮箱这里填写的是“客户端授权密码”而不是邮箱的登录密码!
        $mail->SMTPSecure = "ssl";// 使用ssl协议方式
        $mail->Port = 465;// QQ邮箱的ssl协议方式端口号是465/994
 
        $mail->setFrom("**********@qq.com", "Mailer");// 设置发件人信息,如邮件格式说明中的发件人,这里会显示为Mailer(xxxx@1qq.com),Mailer是当做名字显示
        $mail->addAddress($toemail, '**');// 设置收件人信息,如邮件格式说明中的收件人,这里会显示为Liang(yyyy@qq.com)
        $mail->addReplyTo("**********@qq.com", "Reply");// 设置回复人信息,指的是收件人收到邮件后,如果要回复,回复邮件将发送到的邮箱地址
        //$mail->addCC("xxx@qq.com");// 设置邮件抄送人,可以只写地址,上述的设置也可以只写地址(这个人也能收到邮件)
        //$mail->addBCC("xxx@qq.com");// 设置秘密抄送人(这个人也能收到邮件)
        //$mail->addAttachment("bug0.jpg");// 添加附件
        $mail->Subject = "客户信息";// 邮件标题
        $mail->Body = $content;// 邮件正文
        //$mail->AltBody = "This is the plain text纯文本";// 这个是设置纯文本方式显示的正文内容,如果不支持Html方式,就会用到这个,基本无用
 
        if (!$mail->send()) {// 发送邮件
            return "验证码发送失败" . $mail->ErrorInfo;;
 
        } else {
            return '发送成功';
        }
    }
}

3.然后在创建一个index.php文件调用上面写的PHP类

<?php
namespace app\controller;
use app\BaseController;
use think\facade\Request;
use app\controller\Ma;
class Index extends BaseController
{
    public function index()
    {
     $a1 = Request::param();
        $a3 = new Ma;
        $a2 = $a3->email('**********@qq.com',$a1);
        return redirect($_SERVER["HTTP_REFERER"]);
    }
}

至此就可以了。

zhangsir版权g4防采集https://mianka.xyz

扫描二维码推送至手机访问。

版权声明:本文由zhangsir or zhangmaam发布,如需转载请注明出处。

本文链接:https://www.mianka.xyz/post/73.html

标签: phpthinkphp
分享给朋友:

“thinkphp 利用PHPMailer三方类发送邮件” 的相关文章

Thinkphp6 把用Db类的条件查询转成原生的sql语句

Thinkphp6经常需要查看 SQL 原生语句,这里有两种方式获取:1、getLastSql(), 获取方法前最后一条 SQL 原生语句$a1 = Movies::where('state',1)->limit(10)->select(); $a2...

think PHP返回上一页的办法!

think PHP返回上一页的办法!输入如下代码即可返回上一页return redirect($_SERVER["HTTP_REFERER"]);...

php 显示当前时间的代码实例

在 PHP 中,date() 函数格式化本地日期和时间,并返回格式化的日期字符串。显示当前时间:<?php $a1 = date("Y-m-d H:i:s",time()); echo $a1;显示一天前的时间<?php...

thinkphp6使用swoole步骤实例

一,给PHP软件下载swoole插件二,使用thinkphp6的自定义指令功能php think make:command Tcp tcp三,修改Tcp.php文件(位于:app\command\Tcp)<?php namespace app...

thinkphp6 大数据分页,计算分页总量,layui分页

官方文档给的解决方法:$list = Db::name('user')->where('status',1)->paginateX(50);但这个方法能分页,不能给出总数来,所以总数需要自己算一下。$page = i...

PHP命令执行的函数

system();System()函数的主要功能是在系统权限允许的情况是执行系统命令,windows系统和Linux系统都可以执行,Windows系统下可执行可执行文件(.exe、.bat等),也可执行cmd命令,Linux下用途更广,因为Linux系统就是基于命令行的,如基本的ls、cp、rm等s...