thinkphp5使用PHPMailer实现简单邮箱验证(网易邮箱)

做邮箱验证遇到了很多坑,各种百度各种试,最后终于弄好了,记录一下,下次使用直接拿过来就好了

使用框架是thinkPHP5.0    PHP版本为7

1、先从git下载PHPMailer,解压文件,然后再application里面的extend中,建一个文件夹PHPMailer,把下载好的文件复制到PHPMailer中(Exception.php、PHPMailer.php、SMTP.php就这三个)

然后给这三个文件(Exception.php、PHPMailer.php、SMTP.php)加上命名空间  注:三个都加,命名空间一样

2、在邮箱中设置授权码

 设置完邮箱之后,直接上手代码(拷贝到你的方法中就可以了):下面提到的授权码就是上面图片上的客户端授权码

public function mail(){

        $code = rand('100000','999999');        //六位随机数
        $toemail= '*******@qq.com';            //收件人的邮箱
        $to_name = '你是猪';                    //设置收件人信息,如邮件格式说明中的收件人
        $title = '这是一份测试邮件!';    
        $content = "哇哈哈哈哈哈哈,鹅~鹅~鹅~鹅~鹅~鹅~鹅~鹅~鹅~鹅~鹅~鹅~鹅~鹅~鹅~鹅~鹅~鹅~鹅~鹅~鹅~鹅~笑出鹅叫,您的验证码为:【{$code}】";


        $sendmail = '*********@163.com';     //发件人邮箱
        $sendmailpswd = "*****";              //客户端授权密码,而不是邮箱的登录密码,就是手机发送短信之后弹出来的一长串的密码
        $send_name = '本大爷';                // 设置发件人信息,如邮件格式说明中的发件人,
        $mail = new PHPMailer\PHPMailer();      //实例化mail类
        $mail->isSMTP();                        // 使用SMTP服务
        $mail->CharSet = "utf8";                // 编码格式为utf8,不设置编码的话,中文会出现乱码
        $mail->Host = "SMTP.163.com";           // 发送方的SMTP服务器地址
        $mail->SMTPAuth = true;                 // 是否使用身份验证
        $mail->Username = $sendmail;            // 发件人地址
        $mail->Password = $sendmailpswd;        //客户端授权密码,而不是邮箱的登录密码!
        $mail->SMTPSecure = "ssl";              // 使用ssl协议方式
        $mail->Port = 465;                      //sina端口110或25) //qq  465 587
        $mail->setFrom($sendmail, $send_name);  // 设置发件人信息,如邮件格式说明中的发件人,
        $mail->addAddress($toemail, $to_name);  // 设置收件人信息,如邮件格式说明中的收件人,
        $mail->addReplyTo($sendmail, $send_name);// 设置回复人信息,指的是收件人收到邮件后,如果要回复,回复邮件将发送到的邮箱地址
        $mail->Subject = $title;     // 邮件标题
        //$code=$code;
         session("code",$code);
        $mail->Body = $content;                 // 邮件正文
        //$mail->AltBody = "This is the plain text纯文本";// 这个是设置纯文本方式显示的正文内容,如果不支持Html方式,就会用到这个,基本无用
        if(!$mail->send()){
           return json(["code"=>400,"result"=>$mail->ErrorInfo,"data"=>'']);//返回数据格式自己定义的一个函数

        }else{
            return json(["code"=>200,"result"=>"发送成功","data"=>'']);
        }
}

最后

调试就完了,哈哈哈哈 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值