11、ThinkPHP6实战开发高大上企业站(TP6)之邮件发送

前言

今天给大家带来邮件发送的功能。

开启邮箱STMTP功能

1、进入qq邮箱后台,找到账户

11、ThinkPHP6实战开发高大上企业站(TP6)之邮件发送_第1张图片

2、在服务状态处点击开启服务

11、ThinkPHP6实战开发高大上企业站(TP6)之邮件发送_第2张图片

插件安装

composer require phpmailer/phpmailer

邮箱发送代码

public function emailTest()
    {
        $params = Request()->param();

        // 实例化
        $mail = new PHPMailer();

        // 是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式
        $mail->SMTPDebug = 0;

        // 使用smtp鉴权方式发送邮件
        $mail->isSMTP();

        // smtp需要鉴权 这个必须是true
        $mail->SMTPAuth = true;

        // 因为我发送邮件用的是QQ邮箱,这里填写qq域名邮箱的服务器地址,163是“smtp.163.com”
        $mail->Host = $params['smtpServer'];

        // 设置使用ssl加密方式登录鉴权
        // $mail->SMTPSecure = 'ssl';

        // 设置ssl连接smtp服务器的远程服务器端口号,以前的默认是25,但是现在新的好像已经不可用了 可选465或587
        $mail->Port = $params['smtpPort'];

        // 设置smtp的helo消息头 这个可有可无 内容任意
        // $mail->Helo = 'Hello smtp.qq.com Server';

        // 设置发件人的主机域 可有可无 默认为localhost 内容任意,建议使用你的域名
        $mail->Hostname = '';

        // 设置发送的邮件的编码 可选GB2312 我喜欢utf-8 据说utf8在某些客户端收信下会乱码
        $mail->CharSet = 'UTF-8';

        // 设置发件人姓名(昵称) 任意内容,显示在收件人邮件的发件人邮箱地址前的发件人姓名
        $mail->FromName = $params['smtpNickname'];

        // smtp登录的账号,就是QQ邮箱登录账号
        $mail->Username = $params['smtpEmail'];

        // smtp登录的密码,就是上面第一步记录的密码
        $mail->Password = $params['smtpPassword'];

        // 设置发件人邮箱地址,就是开启这个smtp的邮箱地址
        $mail->From = $params['smtpEmail'];

        // 邮件正文是否为html编码
        $mail->isHTML(true);

        // 设置收件人邮箱地址,该方法有两个参数:第一个参数为收件人邮箱地址;第二参数为给该地址设置的昵称,不同的邮箱系统会自动进行处理变动,这里第二个参数的意义不大
        $mail->addAddress($params['smptTestRecvEmail'], '');

        // 添加多个收件人
        // $mail->addAddress('[email protected]','');

        //添加该邮件的主题
        $mail->Subject = $params['smptTestTitle']; // $title;

        //添加邮件正文,上方将isHTML设置成了true,则可以是完整的html字符串,如:使用file_get_contents函数读取本地的html文件
        $mail->Body = $params['smptTestContent']; // $content;

        // 为该邮件添加附件 该方法也有两个参数 第一个参数为附件存放的目录(相对目录、或绝对目录均可) 第二参数为在邮件附件中该附件的名称
        // $mail->addAttachment('./d.jpg','mm.jpg');

        // 同样该方法可以多次调用 上传多个附件
        // $mail->addAttachment('./Jlib-1.1.0.js','Jlib.js');

        $status = $mail->send();

        // 简单的判断与提示信息
        if ($status) {
            return jsonSuccess('网站邮箱发送测试成功~', "");
        } else {
            return jsonError('网站邮箱发送测试失败~');
        }
    }

 前端代码

如:smtp.163.com
一般为 25 或 465
测试邮件信息

前端效果

注意此处的邮箱登入密码为:SMTP服务开启后的授权码

11、ThinkPHP6实战开发高大上企业站(TP6)之邮件发送_第3张图片

11、ThinkPHP6实战开发高大上企业站(TP6)之邮件发送_第4张图片

最终效果

11、ThinkPHP6实战开发高大上企业站(TP6)之邮件发送_第5张图片

原文地址

11、ThinkPHP6实战开发高大上企业站(TP6)之邮件发送-小何博客前言今天给大家带来邮件发送的功能。开启邮箱STMTP功能1、进入qq邮箱后台,找到账户2、在服务状态处点击开启服务 插件安装composer require phpmailer/phpmailer邮箱发送代码pu…https://ligo100.cn/houduanjishu/php/518.html

你可能感兴趣的:(服务器,github,网络)