PHP实现邮箱验证码验证功能

2021-01-25 02:15

阅读:489

YPE HTML>

标签:邮箱验证   登录   格式   tar   程序   body   用户名   实现   include   

*文章来源:https://blog.egsec.cn/archives/623  (我的主站)

*本文将主要说明:PHP实现邮箱验证码验证功能,通过注册或登录向用户发送身份确认验证码,并通过判断输入的验证码是否正确做出登录判断。

 


 

实现邮箱验证码功能有三个步骤:

1、下载 PHPMailer 组件:https://github.com/PHPMailer/PHPMailer

2、编写随机数(验证码)函数:

 

3、编写调用核心组件程序:

CharSet ="UTF-8";                     //设定邮件编码
    $mail->SMTPDebug = 0;                        // 调试模式输出
    $mail->isSMTP();                             // 使用SMTP
    $mail->Host = ‘	smtp.qq.com‘;            // SMTP服务器
    $mail->SMTPAuth = true;                      // 允许 SMTP 认证
    $mail->Username = ‘**********‘;              // SMTP 用户名  即邮箱的用户名
    $mail->Password = ‘****************‘;        // SMTP 密码  部分邮箱是授权码(例如163邮箱)
    $mail->SMTPSecure = ‘ssl‘;                    // 允许 TLS 或者ssl协议
    $mail->Port = 465;                            // 服务器端口 25 或者465 具体要看邮箱服务器支持

    $mail->setFrom(‘*********qq.com‘, ‘Mailer‘);  //发件人(以QQ邮箱为例)
    
    $mail->addAddress($Email, ‘Joe‘);  // 收件人($Email可以为变量传值,也可为固定值)
    //$mail->addAddress(‘ellen@example.com‘);  // 可添加多个收件人
    $mail->addReplyTo(‘*********@qq.com‘, ‘info‘); //回复的时候回复给哪个邮箱 建议和发件人一致
    //$mail->addCC(‘cc@example.com‘);                    //抄送
    //$mail->addBCC(‘bcc@example.com‘);                    //密送

    //发送附件
    // $mail->addAttachment(‘../xy.zip‘);         // 添加附件
    // $mail->addAttachment(‘../thumb-1.jpg‘, ‘new.jpg‘);    // 发送附件并且重命名
    
    $yanzhen = codestr();  //此处为调用随机验证码函数(按照自己实际函数名改写)

    //Content
    $mail->isHTML(true);                                  // 是否以HTML文档格式发送  发送后客户端可直接显示对应HTML内容
    $mail->Subject = ‘******身份登录验证‘;
    $mail->Body    = ‘

欢迎使用******

您的身份验证码是:‘.$yanzhen.‘

‘ . date(‘Y-m-d H:i:s‘); $mail->AltBody = ‘欢迎使用********,您的身份验证码是:‘.$yanzhen . date(‘Y-m-d H:i:s‘); $mail->send(); echo ‘验证邮件发送成功,请注意查收!‘; } catch (Exception $e) { echo ‘邮件发送失败: ‘, $mail->ErrorInfo; } } ?>

 

完成以上三个步骤即可实现向用户发送邮箱验证码的功能。


 

 

但是,事情并没有结束,向用户发送验证码成功后,对用户提交的验证码如何判断输入的验证码是否正确呢?如果正确,达到身份确认效果,否则反之。请看下面实例:

写实例之前,为了让大家更加明确程序中的文件名以及变量的作用,我们先规定:

1、将调用核心组件程序 命名为 email.php

2、规定验证码存放的变量名为 $yanzhen

3、将 用户输入的验证码 的post表单值命名为 YanEmail

4、规定使用POST提交表单

5、规定接收POST值的页面 命名为 yanzhen.php

规定了以上规则后,下面开始实例演示:

首先是用户输入页面:

登录

邮箱验证页面

//此处的$Email为接收用户的邮箱(这儿看自己需求,可以是数据库查询,也可以是手动输入,只需要最后赋值给$Email即可) //此处为导入email.php文件,自动向用户发送验证邮箱

//此处为用户输入的验证码 //此处为系统向用户发送的验证码(注意:这样写对系统不安全,按照自己需求更改吧),

  

POST表单接收页面(yanzhen.php):

  


 

到这就完成了PHP实现邮箱验证码功能的实现。其实没啥技术含量,就是可能逻辑上需要理清自己想要什么功能。

文章中如有错误,请留言指出,个人技术能力有限,希望可以帮到你。

转载请注明来源!谢谢!!!

 

 

PHP实现邮箱验证码验证功能

标签:邮箱验证   登录   格式   tar   程序   body   用户名   实现   include   

原文地址:https://www.cnblogs.com/egsec/p/13246052.html


评论


亲,登录后才可以留言!