首页 > 代码库 > PHPMail 发邮件(网站找回密码模块开发)

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

1.用户验证

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

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.邮箱验证:

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

 

3.发送邮件:

本步骤使用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();    }


邮件发送方法:

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.重置密码

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

 

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