欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

thinkphp phpmailer邮箱验证

程序员文章站 2022-05-08 18:18:08
thinkphp 关于phpmailer的邮箱验证 一 、 登陆自己的邮箱,例如:qq邮箱。登陆qq邮箱在账户设置中开启smtp服务: 之后回发送一个授权码 , 这个授权码先保存下来,这个授权码在后面会用得到。 二、 使用composer 下载 phpmailer 在cmd中打开你的tp框架路径然后 ......

thinkphp 关于phpmailer的邮箱验证

一  、

  登陆自己的邮箱,例如:qq邮箱。登陆qq邮箱在账户设置中开启smtp服务:

  thinkphp phpmailer邮箱验证

 

之后回发送一个授权码 , 这个授权码先保存下来,这个授权码在后面会用得到。

 

二、

  使用composer 下载 phpmailer 

  在cmd中打开你的tp框架路径然后直接 输入 composer  require phpmailer/phpmailer

  之后你的第三方类库下面会多一个phpmailer文件夹,打开此文件夹;

  thinkphp phpmailer邮箱验证

  然后将src的资源复制下来;

  在tp框架的extends文件夹下面创建一个phpmailer文件夹;

  把刚才复制的资源粘贴在此文件夹下面。

  thinkphp phpmailer邮箱验证

修改三个文件的命名空间: namespace phpmailer.

 

三、使用phpmailer

  在tp框架下面的common.php里面写入:

  

<?php
    
    function sendmail($mail , $to ,$title , $content)
    {
      try{
 $mail->smtpdebug = 0;  //smtp调试功能 0=关闭, 1=错误和消息 2=消息
 $mail->issmtp(); 设定使用smtp服务;
 $mail->charset = 'utf-8'; //邮件编码;
 $mail->host = 'smtp.qq.com'; //smtp服务器;
 $mail->smtpauth = true; //启用smtp验证功能;
 $mail->username = '******@qq.com'; //smtp服务器用户名;
 $mail->password = '**********'; //这个是你开始获取到的授权码;也可以是你的邮箱密码;
$mail->smtpsecure = 'ssl'; //使用安全协议;

    //recipitents  //收件人信息设置
$mail->setform('*******@qq.com' , '为了php'); //第一个参数是收件人邮箱 , 第二个参数是邮件主题;
$mail->addaddress($to); //传入发件人的邮箱地址; 

//content邮件内容
$mail->ishtml(true); 
$mail->subject = $title;
$mail->body = $content;
return $mail->send()
}  catch (exception $e){
 echo 'message could not sent.mailer error:',$email->errorinfo;    
}

}                                        

 

 

在 application conttoller 的index.php文件中 use phpmailer/phpmaileron

 

<?php

use app\index\controller;
use think\controller;
use think\view;
use phpmailer\phpmailer;

class index extends controller
{
  public $view;
  public function __construct()
{
  $this->view = new view;
}
public function index()
{
  $this->view->fetch('index/index');
}


public function sendemail() { $code = rand(10000 , 99999); $data = array_values($_post); $user = implode('' , $data); $emailuser = str_replace('' , '.' , $user); $email = new phpmailer(true); $res = sendmail($mail , $emailuser , 'php真好玩' , '您好!感谢您成为[php真好玩成员] , <br />祝您玩的开心 , 玩的愉快!'); if($res){ return json(['status'=>1 , 'msg'=>'邮箱发送成功']); } else { return json(['status'=>0 , 'msg'=>'邮箱发送失败']); } } }

 

controller 的view 文件下创建index文件夹 , 在index文件下写一个index.html文件;

<html>
    <head>
        <meta charset="utf-8" />
        <title>index</title>
        
     </head>
    <body>
        <input type="text" placeholder="请输入邮箱" id="email">
        <input type="button" id="btn" value="邮箱验证">
    </body>
    <script src="[这里引用你的jquery路径]"></script>
    <script type="text/javascript">
        $(function(){

            $("#btn").click(function{
    
            $.post(":url('index/index/sendemail')",
            {"email":$("#email").val()},
            function(data){
                if(data.status){
                   alert(data.msg); 
} else {
                    alert(data.msg);
}
})
});

})

    </script>
</html>