Thinkphp 发送邮件找回密码源码
public function verify()
{
$type = isset($_GET['type'])?$_GET['type']:'gif';
import("@.ORG.Image");
Image::buildImageVerify(4,1,$type);
}
public function reset()
{
$username = $_GET['username'];
$key = $_GET['key'];
if(S($username) == $key)
{
$_SESSION[C('USER_NAME')] = $username;
//可以修改密码了跳转
}
else
{
showMsg('此重置密码链接无效,请确认后在试!','/');
}
}
public function getpasswd()
{
if(md5($_POST['verify']) != $_SESSION['verify']) {
showMsg('验证码错误!');
}
$username = dhtml($_POST['name']);
$email = $_POST['email'];
$model = M('Clubber');
$map['user_name'] = $username;
$clubber = $model->where($map)->find();
if($clubber)
{
if($clubber['user_email'] == $email)
{
import("ORG.Net.Smtp");
$host = $_SERVER['HTTP_HOST'];
$key = md5(time());
$reset_url = "http://$host/index.php/Rpwd/reset/username/$username/key/$key";
$mail_body = "请点击以下链接重置密码,以便激活您的账号:<a href='$reset_url'>$reset_url</a>";
$smtp = new smtp(C('MAIL_SMTP'),25,true,C('MAIL_USER'),C('MALL_PWD'),C('MAIL_USER'));
$smtp->debug = true;
if($smtp->sendmail($email, C('MAIL_USER'), '好开始','好开始-重置密码',$mail_body,'HTML'))
{
S($username,$key);
$this->display('success');
}
else
{
showMsg('服务器繁忙,请稍侯在试!');
}
}
else
{
showMsg('请重新输入邮箱,邮箱不正确!');
}
}
else
{
showMsg('此用户不存在!');
}
}
原文:http://www.qingruxu.com/code/php/504.html