码迷,mamicode.com
首页 > Web开发 > 详细

PHPMail 发邮件(网站找回密码模块开发)

时间:2014-12-03 17:02:08      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   color   os   使用   sp   

1.用户验证

验证用户名是否是已注册会员。一般用ajax验证数据库User表。

bubuko.com,布布扣

ajax代码如下:

$([name=cpname]).blur(function(){
                var re = /^\w{6,12}$/;
                if(re.test($(this).val())){ //ajax连接数据库验证
                $.ajax({
                url:Cp/check_cpname/cpname/+$([name=cpname]).val(),
                        type:get,
                        success:function($msg){
                            if($msg==0){
                                check_cpname=true;
                                $([name=cpname]).next().html(<font color="red">×</font>);
                            }else{
                                check_cpname=false;
                                $([name=cpname]).next().html(<font color="red">√ </font>);
                            }
                        }
                    });
                }else{
                    $(this).next().html(<font color="red">×</font>);
                }
            });

验证码自定义

2.邮箱验证:

bubuko.com,布布扣

如同步骤1,验证用户输入的邮箱是否为注册绑定邮箱。

 

3.发送邮件:

bubuko.com,布布扣

本步骤使用PHPMailer组件。去网上搜素PHPmailer的组件下载。

将以下两个类库放入项目组件的目录:

Class.mailer.php   class.smtp.php(大部分都是smtp协议,如果是pop3协议,则是class.pop3.php)

邮件配置方法:

public function sendmail($to,$subject,$content){
           include_once(‘class.phpmailer.php’);
        $mail = new PHPMailer();
        $mail->IsSMTP();
        $mail->SMTPAuth = true;
        $mail->IsHTML(true);
        $mail->CharSet ="UTF-8";
        $mail->Encoding = "base64";
        $mail->AddAddress($to, "");
        $mail->Subject = $subject;
        $mail->Body    = $content;
        $mail->Port    = 25;
        // 以下 5 个变量值必须据实修改
        $host    = ‘smtp.ym.163.com‘;//网易的企业邮箱
        $username = ‘‘;//真实邮件地址
        $password = ‘‘;//真实密码
        $from    = ‘‘;//发件的email
        $fromname =’’;//发件者名称
        //$mail->AddReplyTo("", "");
        //$mail->AddAttachment("ok.jpg"); //附件
        // 以下设置 - 不要更改!
        $mail->Host    = $host;
        $mail->Username = $username;
        $mail->Password = $password;
        $mail->From    = $from;
        $mail->FromName = $fromname;
        // 发送并返回相应信息
        return $mail->Send();
    }


邮件发送方法:

bubuko.com,布布扣

public function doemail(){
      $email=trim($_POST[‘email‘]);
      $to =$email;
      $subject = ‘找回密码‘;
      $code=rand(100000,999999);//六位随机数,口令
      $_SESSION[‘CODE‘]=$code;//存入session
      $contents = ‘’;
      $content.=‘<li style="width:500px; float:left; ">恭喜您!找回密码成功,请在30分钟内点输入口令。</li>‘;
      $content.=‘<li style="width:1000px; float:left;">找回密码口令码:‘;
      $content.=‘<span style="color:#F00;">‘;
      $content.=$code;
      $content.="</li>";
      if($this->sendmail($to,$subject,$content)) {
                     $_SESSION[‘SENDTIME‘]=time();
                        //记录发送时间
//跳到口令验证页面 }else{ echo ‘邮件发送失败,请重试!‘; //跳回邮箱验证页面 } }


4.口令验证:

    public function dosafepwdsuccess() {
        $code=$_POST[‘code‘];
        if($code==‘‘){
        echo ‘口令为空’;
        //跳转原页面
        }else{
        if(time()-$_SESSION[‘SENDTIME‘] <1800){//验证是否口令过期,这里是30分钟有效时间
        if($code==$_SESSION[‘CODE‘]){//验证口令
        $_SESSION[‘CODE‘]=rand(100000,999999);//验证过后立马让原口令失效
           //跳转到重置密码页面        
        }else{
          echo ‘口令有误或您已经验证过此口令!‘;
             //跳转原页面
                }
        }else{
          echo ‘对不起,口令失效,请重新发送邮件!‘;
             //跳转邮件发送页
        }
    }
    }

 

5.重置密码

bubuko.com,布布扣

这个就没什么可说的了。重置新密码就OK

 

PHPMail 发邮件(网站找回密码模块开发)

标签:style   blog   http   io   ar   color   os   使用   sp   

原文地址:http://www.cnblogs.com/ItcastZc/p/4140374.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!