TP---发送电子邮件

版权声明:实战经验 https://blog.csdn.net/qq_42455095/article/details/84328147

1、开启相关邮箱的SMTP服务,我是用的QQ,下面就以QQ邮箱为例
2、登入邮箱。进入设置
在这里插入图片描述
3、点击账户,向下翻,开启SMTP服务,
在这里插入图片描述
在这里插入图片描述
4、记录一下授权码,后期要用
在这里插入图片描述
下面我们开始代码部分,首先→下载←相关文件,在vendor下新建文件夹phpmailer,并把下载的文件放在phpmailer文件下。
在这里插入图片描述
我们把发送电子邮件封装成一个方法:

function sendEmail($data = []) {
    Vendor('phpmailer.phpmailer');
    $mail = new \phpmailer\PHPMailer(); //实例化

    $mail->IsSMTP(); // 启用SMTP
    $mail->Host = 'smtp.qq.com'; //SMTP服务器 以QQ邮箱为例子
    $mail->Port = 465;  //邮件发送端口
    $mail->SMTPAuth = true;  //启用SMTP认证
    $mail->SMTPSecure = "ssl";   // 设置安全验证方式为ssl

    $mail->CharSet = "UTF-8"; //字符集
    $mail->Encoding = "base64"; //编码方式

    $mail->Username = '[email protected]';  //你的邮箱
    $mail->Password = '这里写上面提到的授权码';  //你的密码
    $mail->Subject = '来自 ‘记忆、深处’ 的提示'; //邮件标题

    $mail->From = '[email protected]';  //发件人地址(也就是你的邮箱)
    $mail->FromName = '打死坏小强';  //发件人姓名

    if($data && is_array($data)){
        foreach ($data as $k=>$v){
            $mail->AddAddress($v['user_email'], "亲"); //添加收件人(地址,昵称)
            $mail->IsHTML(true); //支持html格式内容
            $mail->Body = $v['content']; //邮件主体内容

            //发送成功就删除
            if ($mail->Send()) {
                echo "发送成功";
            }else{
                echo "Mailer Error: ".$mail->ErrorInfo;// 输出错误信息
            }
        }
    }
}

控制器中调用

<?php
namespace app\index\controller;

class Index 
{
    //数据库备份
    public function index()
    {
        sendEmail([['user_email'=>'这里填写收信人的邮箱','content'=>'欢迎关注打死坏小强的CSDN:https://blog.csdn.net/qq_42455095']]);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_42455095/article/details/84328147