thinkPHP5使用PHPmailer 发送验证码

最近在使用thinkphp5做登录注册时需要使用邮箱接受验证码,使用的phpmailer发送邮件,在操作过程中出现了引用失败的问题,在此记录一下相关操作。
1、首先到github上下载phpmailer 文件包,网址:https://github.com/PHPMailer/PHPMailer ;本地是windows系统所以下载的是zip压缩文件;同时使用的邮箱帐号登录下,开启下SMTP服务;

在这里插入图片描述
在这里插入图片描述

2、解压文件:然后把文件夹重命名,复制存放到项目thinkPHP目录 extend文件夹内:在这里插入图片描述
3、在所使用的控制器内编写代码,引入该文件,注意路径不要写错,因为phpmailer 没有使用Composer安装,使用的引入的方式,按照操作文档引入下文件。

namespace app\api\controller;
use think\Validate;
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;

require __DIR__.'/../../../extend/PHPMailer/PHPMailer/src/PHPMailer.php';
require __DIR__.'/../../../extend/PHPMailer/PHPMailer/src/SMTP.php';
public function send_code_to_email($email,$code){
		// echo "send_code_to_email";
		$toemail = $email;
		$mail=new PHPMailer(true);
		$mail->isSMTP();
		$mail->CharSet='utf8';
		$mail->Host='smtp.126.com';
		$mail->SMTPAuth=true;
		$mail->Username = 'XXX@126.com';//发送邮箱账号
		$mail->Password='密码';
		$mail->SMTPSecure='ssl';
		$mail->Port=994;
		$mail->setFrom('XXX@126.com','test');
		$mail->addAddress($toemail,'test1');
		$mail->addReplyTo('XXX@126.com','reply');
		$mail->Subject ="new code";
		$mail->Body="这是测试邮件,验证码:".$code."有效时间30分钟";
		if(!$mail->send()){
			$this->return_msg(400,$mail->ErrorInfo);
		}else{
			$this->return_msg(200,'code 已经发送');
		}
	}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值