资讯专栏INFORMATION COLUMN

thinkphp邮箱验证码前后台

changfeng1050 / 2067人阅读

思路:

前台用jquery.validate验证,验证邮箱是否存在等等,交互用ajax来做。后端用邮箱类库直接上代码吧

准备:

1.下载PHPMailer类库,放到Application/Thinkphp/Library/Vendor/中,在网上搜搜,搜不到可以联系我
2.开启SMTP,举个网易邮箱的例子

config.php里填写:
// 配置邮件发送服务器
"MAIL_HOST" =>"smtp.163.com",//smtp服务器的名称
"MAIL_SMTPAUTH" =>TRUE, //启用smtp认证
"MAIL_USERNAME" =>"lishine0216@163.com",//你的邮箱名
"MAIL_FROM" =>"lishine0216@163.com",//发件人地址
"MAIL_FROMNAME"=>"南京商丘商会",//发件人姓名
"MAIL_PASSWORD" =>"a3392894",//邮箱密码
"MAIL_CHARSET" =>"utf-8",//设置邮件编码
"MAIL_ISHTML" =>TRUE, // 是否HTML格式邮件
function.php填写
IsSMTP(); // 启用SMTP
        $mail->Host=C("MAIL_HOST"); //smtp服务器的名称(这里以QQ邮箱为例)
        $mail->SMTPAuth = C("MAIL_SMTPAUTH"); //启用smtp认证
        $mail->Username = C("MAIL_USERNAME"); //你的邮箱名
        $mail->Password = C("MAIL_PASSWORD") ; //邮箱密码
        $mail->From = C("MAIL_FROM"); //发件人地址(也就是你的邮箱地址)
        $mail->FromName = C("MAIL_FROMNAME"); //发件人姓名
        $mail->AddAddress($to,"尊敬的客户");
        $mail->WordWrap = 50; //设置每行字符长度
        $mail->IsHTML(C("MAIL_ISHTML")); // 是否HTML格式邮件
        $mail->CharSet=C("MAIL_CHARSET"); //设置邮件编码
        $mail->Subject =$title; //邮件主题
        $mail->Body = $content; //邮件内容
        $mail->AltBody = "这是一个纯文本的身体在非营利的HTML电子邮件客户端"; //邮件正文不支持HTML的备用显示
        //return($mail->Send());
        if (!$mail->send()) {
                echo "Mailer Error: " . $mail->ErrorInfo;
        } else {
                echo "Message sent!";
        }
    }
后端:
public function createSMSCode($length = 6){
    $min = pow(10 , ($length - 1));
    $max = pow(10, $length) - 1;
    return rand($min, $max);
}

//ajax发送邮件
public function e_mail_send(){
    $e_mail=I("post.e_mail");
    $result=M("user")->where(array("e_mail"=>$e_mail))->find();
    if($result){
        $code=$this->createSMSCode();
        //存储验证码,相当于全局变量,因为再次调用createSMSCode时,代码会变
        session("code",$code);
        session("e_mail",$e_mail);
        SendMail($e_mail,"南京商丘商会验证码","您的验证码是".$code.",请正确填写");
        $data="yes";
    }else{
        $data="no";
    }
    $this->ajaxReturn($data);
}
前端:

密码找回!
请填入您的邮箱进行密码找回
发送后请注意查收邮箱信息填入验证码中

发送



ajax部分:
            
展示:

欢迎交流 QQ:755092893

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/23252.html

相关文章

  • thinkphp实现短信验证注册

    摘要:前言注册时经常需要用到短信验证码,本文记录一下思路和具体实现。短信验证平台使用云片,短信验证码的生成使用。云片发送短信验证码到指定手机号。用户输入短信验证码。 前言 注册时经常需要用到短信验证码,本文记录一下思路和具体实现。短信验证平台使用云片,短信验证码的生成使用thinkphp。 思路 1、用户输入手机号,请求获取短信验证码。2、thinkphp生成短信验证码,存储,同时和其他参数...

    stackfing 评论0 收藏0
  • thinkphp阿里云短信服务,替代原来的阿里大于

    摘要:之前使用的阿里大于,不过很坑的是,新接入的都不能用了,融入进了阿里云服务,当然阿里大于的老用户还可以继续用阿里大于首先还是接入,上图找到短信服务设置短信签名和短信模板设置或找到或下载文档打开下载下来的文档,只需要,将其改名为,并放到项目根目 之前使用的阿里大于,不过很坑的是,新接入的都不能用了,融入进了阿里云服务,当然阿里大于的老用户还可以继续用阿里大于 首先还是接入,上图: (1)找...

    mj 评论0 收藏0
  • PHP_ThinkPHP

    摘要:相关信息,面向过程,面向对象,轻量级。轻量级功能实用,面向过程和面向对象混合开发。找到文件为文件名为验证码类没有在自动加载类中载入,需要手动载入。底层的和会影响原始的框架中的引入,可以使用框架中提供的引入。 不使用框架的问题 在实际工作中,如果不使用框架会遇到的问题。 程序项目生命时间非常短(维护性,生命力弱) 分共协作开发项目,彼此代码风格不一致。 开发程序,喜欢挖坑。 开发者离职...

    wind3110991 评论0 收藏0
  • thinkphp ajax提交token

    摘要:忘记密码的时候需要用到提交,怕短信被盗刷,用的自带的做了个简单的验证结合验证码。然后就想到,在中跟其他字段一起提交就行了。成功处理失败处理这样提交的格式就完全跟表单提交一样了后台就可以按照手册上的验证来验证了。 忘记密码的时候需要用到ajax提交,怕短信被盗刷,用的thinkphp自带的token做了个简单的验证(结合验证码)。看到表单里的token其实是跟表单数据一起验证的,其实就相...

    zhouzhou 评论0 收藏0
  • thinkphp ajax提交token

    摘要:忘记密码的时候需要用到提交,怕短信被盗刷,用的自带的做了个简单的验证结合验证码。然后就想到,在中跟其他字段一起提交就行了。成功处理失败处理这样提交的格式就完全跟表单提交一样了后台就可以按照手册上的验证来验证了。 忘记密码的时候需要用到ajax提交,怕短信被盗刷,用的thinkphp自带的token做了个简单的验证(结合验证码)。看到表单里的token其实是跟表单数据一起验证的,其实就相...

    yvonne 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<