思路:使用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.phpIsSMTP();//启用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,"尊敬的客户");$邮件->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());如果(!$mail->send()){echo"邮件程序错误:".$邮件->错误信息;}else{echo"消息已发送!";}}后端:publicfunctioncreateSMSCode($length=6){$min=pow(10,($length-1));$max=pow(10,$length)-1;returnrand($min,$max);}//ajax发送邮件publicfunctione_mail_send(){$e_mail=I("post.e_mail");$result=M("user")->where(array("e_mail"=>$e_mail))->find();如果($结果){$鳕鱼e=$this->createSMSCode();//存放验证码相当于一个全局变量,因为再次调用createSMSCode时,代码会发生变化session("code",$code);session("e_mail",$e_mail);SendMail($e_mail,"南京商丘商会验证码","您的验证码为".$code.",请正确填写");$数据=“是”;}else{$data="否";}$this->ajaxReturn($data);}前端:找回密码!
请填写邮箱找回密码
发??送后请注意查收邮箱并填写验证码
