实现发送邮件的功能

public function setEmail($address_email, $email_password, $code ,$kind)
    {
        Vendor('PHPMailer.PHPMailerAutoload');
        $sendmail = '********'; //发件人邮箱
        $sendmailpswd = "cbllxxxxxxxhdbc"; //客户端授权密码,而不是邮箱的登录密码
        $send_name    = '*******';// 设置发件人信息,如邮件格式说明中的发件人,
        $toemail      = $address_email;//定义收件人的邮箱
        $to_name      = '尊敬的客户';//设置收件人信息,如邮件格式说明中的收件人
        $mail         = new PHPMailer();
        $mail->isSMTP();// 使用SMTP服务
        $mail->CharSet    = "utf8";// 编码格式为utf8,不设置编码的话,中文会出现乱码
        $mail->Host       = "smtp.qq.com";// 发送方的SMTP服务器地址
        $mail->SMTPAuth   = true;// 是否使用身份验证
        $mail->Username   = $sendmail; 发送方的
        $mail->Password   = $sendmailpswd;//客户端授权密码,而不是邮箱的登录密码!
        $mail->SMTPSecure = "ssl";// 使用ssl协议方式
        $mail->Port       = 465;//  qq端口465或587)
//        $mail->setFrom($sendmail,$send_name);// 设置发件人信息,如邮件格式说明中的发件人,
        $mail->setFrom($sendmail, $send_name);
        $mail->addAddress($toemail, $to_name);// 设置收件人信息,如邮件格式说明中的收件人,
        $mail->addReplyTo($sendmail, $send_name);// 设置回复人信息,指的是收件人收到邮件后,如果要回复,回复邮件将发送到的邮箱地址
        //$mail->addCC("xxx@qq.com");// 设置邮件抄送人,可以只写地址,上述的设置也可以只写地址(这个人也能收到邮件)
        //$mail->addBCC("xxx@qq.com");// 设置秘密抄送人(这个人也能收到邮件)
        //$mail->addAttachment("bug0.jpg");// 添加附件
        $mail->Subject = "********";// 邮件标题
        $mail->Body = "欢迎使用********,您的验证码是:$code ,该验证码2小时内有效。";// 邮件正文
        $code_time = time() + 60 * 60 * 2;//过期时间为2小时后
        if (!$mail->send()) {// 发送邮件
            $this->error('邮箱验证失败!请检查邮箱号码是否正确');
        } else {
            //判断当前邮箱是否有获取验证码
            $isExist = Db::name('email')->where('email',$address_email)->where('kind',$kind)->find();
            if ($isExist){
                //存在,修改code
                Db::name('email')->where('email',$address_email)->where('kind',$kind)->update(['code' => $code,'code_time' => $code_time]);
                $this->success('发送成功');
            }else{
                //将邮箱与密码写入数据库
                $data = [
                    'email'          => $address_email,
                    'email_password' => $email_password,
                    'code'           => $code,
                    'kind'           => $kind,
                    'create_time'    => time(),
                    'code_time'      => $code_time,
                ];
                $res = Db::name('email')->insert($data);
                if ($res) {
                    $this->success('发送成功');
                }
            }
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值