thinkphp5.1发送邮件的方法


1.安装插件

composer require phpmailer/phpmailer

 2.application下的common.php文件里加上一下代码,可自己根据需求稍加修改,我用的是验证码

use PHPMailer\PHPMailer\PHPMailer;//引入邮件类
 
function mailto($user,$code)
{
    //实例化PHPMailer核心类
    $mail = new PHPMailer();

    //$mail->SMTPDebug = 1;#是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式
    $mail->isSMTP(); #使用smtp鉴权方式发送邮件
    $mail->SMTPAuth = true; #smtp需要鉴权 这个必须是true
    $mail->Host = 'smtp.qq.com'; #链接qq域名邮箱的服务器地址

    $mail->SMTPSecure = 'ssl'; #设置使用ssl加密方式登录鉴权
    $mail->Port = 465; #设置ssl连接smtp服务器的远程服务器端口号

    $mail->CharSet = 'UTF-8'; #设置发送的邮件的编码
    $mail->FromName = 'xxx'; #设置发件人昵称 显示在收件人邮件的发件人邮箱地址前的发件人姓名
    $mail->Username = 'xxx@qq.com'; #smtp登录的账号
    $mail->Password = 'xxxx'; #smtp登录的密码 使用生成的授权码
    $mail->From = 'xxx@qq.com'; #设置发件人邮箱地址 同登录账号

    //邮件正文是否为html编码
    $mail->isHTML(true);
    //设置收件人邮箱地址
    $mail->addAddress($user);
    //添加多个收件人 则多次调用方法即可
    //$mail->addAddress('xxx@qq.com');
    //添加该邮件的主题
    $mail->Subject = '验证码';
    //添加邮件正文
    $mail->Body = "您的验证码是" . $code;
    //为该邮件添加附件
    //$mail->addAttachment('./example.pdf');
    //发送邮件 返回状态
    if ($mail->send()) {
        //成功
        return json_encode(['code' => '1']);
    } else {
        //失败
        return json_encode(['code' => '0']);
    }
}

3.在控制器调用函数,在其他地方也应可以

public function emali(){
        mailto('xxxxx@qq.com', '3652');
    }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM