- 将下载好的phpmailer文件夹放入Plugin文件夹
- 然后在function.php文件中添加如下代码
function sendMail($to, $title, $content){
require_once('./Plugin/phpmailer/class.phpmailer.php');
$mail = new PHPMailer();
// 设置为要发邮件
$mail->IsSMTP();
// 是否允许发送HTML代码做为邮件的内容
$mail->IsHTML(TRUE);
$mail->CharSet='UTF-8';
// 是否需要身份验证
$mail->SMTPAuth=TRUE;
/* 邮件服务器上的账号是什么 -> 到163注册一个账号即可 */
$mail->From="xxx@sina.com";
$mail->FromName="xxx";
$mail->Host="smtp.sina.com";
$mail->Username="xxx";
$mail->Password="123456";
// 发邮件端口号默认25
$mail->Port = 25;
// 收件人
$mail->AddAddress($to);
// 邮件标题
$mail->Subject=$title;
// 邮件内容
$mail->Body=$content;
return($mail->Send());
}
- UserController.class.php中的代码:
public function regist(){
//两个逻辑:展示,收集
$user=new \Model\UserModel();
if(IS_POST){
$data=$user->create();//过滤非法字段
if($user->add($data)){
$this->success('注册成功',U('showRegister'),1);
}else{
$this->error('注册失败',U('regist'),1);
}
}else{
$this->display();
}
}
//用户注册成功后显示相关信息
function showRegister(){
$this->display();
}
//会员邮箱激活
function jihuo(){
$user_id=I('get.user_id');
$checkcode=I('get.checkcode');
//更改user_check=1,user_check_code=null
$user=D('User');
//首先需要验证,再激活
$userinfo=$user->where(array('user_check'=>0))->find($user_id);
if($userinfo['user_check_code']===$checkcode){
$z=$user->setField(array('user_id'=>$user_id,'user_check'=>1,'user_check_code'=>''));
if($z){
$this->success('会员激活成功!',U('login'),1);
}
}else{
$this->success('操作有错误或账号已经激活!',U('login'),1);
}
}
// 插入成功后的回调方法
protected function _after_insert($data,$options) {
//判断当前的动作为“注册”,并发送邮件
if($_POST['act']=='regist'){
//生成校验码
$code=md5(uniqid());//生成一个唯一的校验码信息
$this->setField(array('user_id'=>$data['user_id'],'user_check_code'=>$code));//更新校验码到会员记录
//具体邮件发送
//sendMail(注册邮箱,title,content) $link=C('Local').U('User/jihuo',array('user_id'=>$data['user_id'],'checkcode'=>$code));
sendMail($data['user_email'],'会员注册激活','请点击以下超链接,激活您的账号:'.$link);
}
}
网友评论