PDO实例-发送邮件激活账户


layout: post
title: "PDO实例-发送邮件激活账户"
date: 2016-05-22 16:07:33 +0800
comments: true
categories: [php]


实现注册发送邮件激活账户

使用swiftmailer-master发送邮件

核心代码:

add($data, $table);
    $lastInsertId=$PdoMySQL->getLastInsertId();
    if($res){
        //发送邮件,以QQ邮箱为例
        //配置邮件服务器,得到传输对象
        $transport=Swift_SmtpTransport::newInstance('smtp.qq.com',25);
        //设置登陆帐号和密码
        $transport->setUsername('[email protected]');
        $transport->setPassword($emailPassword);
        //得到发送邮件对象Swift_Mailer对象
        $mailer=Swift_Mailer::newInstance($transport);
        //得到邮件信息对象
        $message=Swift_Message::newInstance();
        //设置管理员的信息
        $message->setFrom(array('[email protected]'=>'Reton'));
        //将邮件发给谁
        $message->setTo(array($email=>'reton'));
        //设置邮件主题
        $message->setSubject('激活邮件');
        $url="http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?act=active&token={$token}";
        $urlencode=urlencode($url);
        $str=<<
        请点击此链接激活帐号即可登陆!
{$urlencode}
如果点此链接无反映,可以将其复制到浏览器中来执行,链接的有效时间为24小时。 EOF; $message->setBody("{$str}",'text/html','utf-8'); try{ if($mailer->send($message)){ echo "恭喜您{$username}注册成功,请到邮箱激活之后登陆
"; echo '3秒钟后跳转到登陆页面'; echo ''; }else{ $PdoMySQL->delete($table,'id='.$lastInsertId); echo '注册失败,请重新注册'; echo '3秒钟后跳转到注册页面'; echo ''; } }catch(Swift_ConnectionException $e){ echo '邮件发送错误'.$e->getMessage(); } }else{ echo '用户注册失败,3秒钟后跳转到注册页面'; echo ''; } }elseif($act==='login'){ //完成登陆的功能 $row=$PdoMySQL->find($table,"username='{$username}' AND password='{$password}'",'status'); if($row['status']==0){ echo '请先激活在登陆'; echo ''; }else{ echo '登陆成功,3秒钟后跳转到首页'; echo ''; } }elseif($act==='active'){ $token=addslashes($_GET['token']); $row=$PdoMySQL->find($table,"token='{$token}' AND status=0",array('id','token_exptime')); $now=time(); if($now>$row['token_exptime']){ echo '激活时间过期,请重新登陆激活'; }else{ $res=$PdoMySQL->update(array('status'=>1),$table,'id='.$row['id']); if($res){ echo '激活成功,3秒钟后跳转到登陆页面'; echo ''; }else{ echo '激活失败,请重新激活'; echo ''; } } }





  
    
        
        
        Login and Registration Form with HTML5 and CSS3
         
        
        
        
         
        
        
        
    
    
        

It's RetonThis Is Reton

Log in

Sign up

你可能感兴趣的:(PDO实例-发送邮件激活账户)