邮箱绑定

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;


require './PHPmailer-master/src/Exception.php';
require './PHPmailer-master//src/PHPMailer.php';
require './PHPmailer-master//src/SMTP.php';
class Sendmail extends Controller
{
    public function sendmail(){
        
    $email=Request::param('email');
    $user_id=Session::get('user_id');
    $time=time()+15;
    $sign= $this->sign();
    //echo $sign;
    $mail = new PHPMailer(true);                              // Passing `true` enables exceptions
try {
    //服务器配置
    $mail->CharSet ="UTF-8"; //设定邮件编码
    $mail->SMTPDebug = 0;                        // 调试模式输出
    $mail->isSMTP();                             // 使用SMTP
    $mail->Host = 'smtp.qq.com';                // SMTP服务器
    $mail->SMTPAuth = true;                      // 允许 SMTP 认证
    $mail->Username = '1787188315@qq.com';                // SMTP 用户名  即邮箱的用户名
    $mail->Password = 'iicuuosezlgfeiff';             // SMTP 密码  部分邮箱是授权码(例如163邮箱)
    $mail->SMTPSecure = 'ssl';                    // 允许 TLS 或者ssl协议
    $mail->Port = 465;                            // 服务器端口 25 或者465 具体要看邮箱服务器支持


    $mail->setFrom('1787188315@qq.com', 'Mailer');  //发件人
    $mail->addAddress($email, 'Joe');  // 收件人
    //$mail->addAddress('ellen@example.com');  // 可添加多个收件人
    $mail->addReplyTo('1787188315@qq.com', 'info'); //回复的时候回复给哪个邮箱 建议和发件人一致
    //$mail->addCC('cc@example.com'); //抄送
    //$mail->addBCC('bcc@example.com'); //密送


    //发送附件
    // $mail->addAttachment('../xy.zip');         // 添加附件
    // $mail->addAttachment('../thumb-1.jpg', 'new.jpg');    // 发送附件并且重命名


    //Content
    $mail->isHTML(true);                                  // 是否以HTML文档格式发送  发送后客户端可直接显示对应HTML内容
    $mail->Subject = '易易城商城邮箱激活' . time();
    $mail->Body    = "www.xinyiyicheng.com/index/Sendmail/em?email={$email}&user_id={$user_id}&time={$time}&sign={$sign}";
    $mail->AltBody = '';
//uid={$uid}&sign={$sign}&time={$time}
    $mail->send();
    echo '邮件发送成功';
} catch (Exception $e) {
    echo '邮件发送失败: ', $mail->ErrorInfo;
}
        
    }
    
    //更改用邮箱状态的方法
    public function em(){
       //服务器中的密钥
       $secret='2938457489397';
       $email=Request::param('email');
       $user_id=Request::param('user_id');
       $time=Request::param('time');
      
       
       //接受过来的签名
       $sign=Request::param('sign');
       //根据传过来的 user_id 和time 还有服务器中的密钥生成新的签名 做对比
       $newsign=md5($user_id.$secret.$time);
       
       
       if($newsign==$sign){
          // echo'签名正确';
        if($time>time()){
           //echo'还在有效期'; 
        } else{
           echo'已过期,重新生成连接'; die;
            
        }
         
       } else {
          echo'签名失败'; die;
       }
    
       
       
       $data=Db::table('user')->where('user_id',$user_id)->find();
       if($email != $data['user_email']){
           $ud= Db::name('user')
            ->where('user_id', $user_id)
            ->data(['user_email'=>$email,'email'=> 1])
            ->update();
           echo '修改成功';
           
       } else {
            Db::name('user')
            ->where('user_id', $user_id)
            ->data(['email'=> 1])
            ->update();
           echo '绑定成功';
       }
       


       
    }
    
    //生成签名的方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值