thinkphp实现邮箱发送
程序员文章站
2022-07-08 11:50:59
...
thinkphp5实现邮件发送
先说一下客户端授权码:
1,必须完成的一个:打开自己的扣扣邮箱首页:点击 设置 然后 点击账户 划到有 POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 这个地方 ,点击开启这两个服务。
2,POP3/SMTP服务 (如何使用 Foxmail 等软件收发邮件?)
3,IMAP/SMTP服务 (什么是 IMAP,它又是如何设置?)
然后:就会有一个温馨提示:在第三方登录QQ邮箱,可能存在邮件泄露风险,甚至危害Apple ID安全,建议使用QQ邮箱手机版登录。
继续获取授权码登录第三方客户端邮箱 。 生成授权码 ,这个授权码就是客户端授权码 下面代码的授权码( $sendmailpswd)
第一步:
码云下载PHPMailer 安装的最新版本6.0,安装在根目录,打开安装好的PHPMailer 目录,进入src目录,将Exceptino.php , PHPMailer.php, SMTP.php三个文件放在extend目录下新建的PHPMailer目录,同时三个命名空间改成 namespace PHPMailer;
达到这一步配置就完成了。接下来就是发送邮件代码了,
第二部:直接上代码QQ邮箱发送验证码
先引入
完整代码图片:
完整代码
```public function loginByEmail(){
$captcha = '96358'; //自定发送的验证码((可以自己生成一个随机数字验证码))
$email = 'aaa@qq.comcom'; //XXXXXXX收件人邮箱(免掉前端代码传值,直接发给某一个人)
$toemail=$email;//定义收件人的邮箱
$sendmail = 'aaa@qq.com'; //发件人邮箱
$sendmailpswd = "qnxxxxxxxxagi"; //客户端授权密码,不是邮箱的登录密码,
$send_name = 'Cherry';// 设置发件人信息,如邮件格式说明中的发件人,
$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;// sina端口110或25) //qq 465 587
$mail->setFrom($sendmail, $send_name);// 设置发件人信息,如邮件格式说明中的发件人,
$mail->addAddress($toemail, $to_name);// 设置收件人信息,如邮件格式说明中的收件人,
$mail->addReplyTo($sendmail, $send_name);// 设置回复人信息,指的是收件人收到邮件后,如果要回复,回复邮件将发送到的邮箱地址
$mail->Subject = "测试邮箱标题!";// 邮件标题
//$code=$code;
// session("code",$code);
//return $code."----".session("code");
/*$com = new Common();
//获取随机数字验证码
$captcha = $com->getRandomNum();
$html_body = '您的验证码为:' . $captcha . ',5分钟内有效';*/
$mail->Body = "您好,您的验证码是: $captcha 记得回复我哟!么么哒...";// 邮件正文
//$mail->AltBody = "This is the plain text纯文本";// 这个是设置纯文本方式显示的正文内容,如果不支持Html方式,就会用到这个,基本无用
if(!$mail->send()){
$this->success(400,$mail->ErrorInfo);//返回数据格式自己定义的一个函数
}else{
$this->success("验证码已经发送,请注意查收");
}
}
上一篇: springboot获取src/main/resource下的文件
下一篇: 像二维码一样