thinkphp发送邮件
1.首先下载smtp类,放入ORG中;
2.在某一个控制器中增加如下方法:
public function email(){
import(‘@.ORG.Smtp‘);$smtpserver = "smtp.163.com";//SMTP服务器
$smtpserverport =25;//SMTP服务器端口
$smtpusermail = "****";//SMTP服务器的用户邮箱//163邮箱等
if($_POST[‘ema‘]!=""){
$smtpemailto =$_POST[‘ema‘]; //$_POST[‘ema‘];//发送给谁
}else{
$this->error(‘请填写需要验证的邮箱!‘);
//$smtpemailto ="*****";
}
$smtpuser = "*****";//SMTP服务器的用户帐号
$smtppass = "*****";//SMTP服务器的用户密码
$mailsubject = "邮件找回密码";//邮件主题
if(isset($_POST[‘username‘]) && $_POST[‘username‘]!=null){
$where[‘username‘]=array(‘like‘,"%{$_POST[‘username‘]}%");
}else{
$this->error("请输入用户名");
}
$m=M(‘User‘);
$arr=$m->where($where)->select();
$this->assign(‘data‘,$arr);
//echo($arr[0][password]);
$mailbody =$arr[0][password]."<a href=‘http://text.com/message/index.php/Login/login‘>"."点击登录</a>";//邮件内容
$mailtype = "HTML";//邮件格式(HTML/TXT),TXT为文本邮件
$smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);//这里面的一个true是表示使用身份验证,否则不使用身份验证.
//$smtp->debug = TRUE;//是否显示发送的调试信息
$result=$smtp->sendmail($smtpemailto, $smtpusermail, $mailsubject, $mailbody, $mailtype);
if(result){
$this->success(‘邮件发送成功,注意查收!‘,‘http://text.com/message/index.php/Login/login‘);
}else{
$this->success(‘邮件发送失败,请重新填写!‘,‘http://text.com/message/index.php/User/select‘);
}
}
经测试对qq邮箱、163均可以使用;
smtp.class.php下载地址:http://download.csdn.net/detail/c1041087078/7035259
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。