TP5+PHPMailer 实现邮件验证码功能
前言
tp5+PHPMailer,使用QQ邮箱作为发送验证码的邮箱
提示:以下是本篇文章正文内容,下面案例可供参考
一、开启QQ邮箱的SMTP
QQ邮箱->设置->账户->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务。开启。
二、下载或使用composer安装PHPMailer
phpMailer 是一个非常强大的php发送邮件类,可以设定发送邮件地址、回复地址、邮件主题、html网页,上传附件,并且使用起来非常方便。
安装方式查看菜鸟教程:参考链接
安装完成后可以在vendor文件夹中找到:
三、书写邮件代码
public function send_code_to_email($email, $code){
// echo 'send_code_to_email';
// vendor('PHPMailer.class#PHPMailer');
vendor('phpmailer.PHPMailerAutoload'); // 引入
$toemail = $email;
$mail = new PHPMailer(); // 新建
$mail->isSMTP(); // 开启SMTP
$mail->CharSet = 'utf8'; // 设置编码
$mail->Host = 'smtp.qq.com'; // SMTP服务器
$mail->SMTPAuth = true; // smtp需要鉴权 这个必须是true
$mail->Username = '123456789@qq.com'; // 发信人的账号
$mail->Password = "**********"; // 密码,非邮箱密码,是SMTP生成的密码
$mail->From = '123456789@qq.com'; // 发信人的地址
$mail->SMTPSecure = 'ssl'; // 采用ssl协议
$mail->Port = 465; // 端口号
$mail->FromName = "549项目组"; // 发件人昵称
$mail->addAddress($toemail); // 收信人地址
$mail->addReplyTo('123456789@qq.com');//回复的时候回复的邮箱,建议和发信人一样
$mail->Subject = "您有新的验证码"; // 邮件主题
$mail->Body = "您的验证码是: ".$code." 有效期为1分钟,本邮件请勿回复!"; // 邮件内容
if (!$mail->send()) {
$this->return_msg(400, $mail->ErrorInfo);
}else{
$this->return_msg(200,'验证码已经发送成功');
}
}
注意:要在运行环境中开启openssl,默认开启