thinkphp5.1发送邮件的方法
1.安装插件
composer require phpmailer/phpmailer
2.application下的common.php文件里加上一下代码,可自己根据需求稍加修改,我用的是验证码
use PHPMailer\PHPMailer\PHPMailer;//引入邮件类 function mailto($user,$code) { //实例化PHPMailer核心类 $mail = new PHPMailer(); //$mail->SMTPDebug = 1;#是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式 $mail->isSMTP(); #使用smtp鉴权方式发送邮件 $mail->SMTPAuth = true; #smtp需要鉴权 这个必须是true $mail->Host = 'smtp.qq.com'; #链接qq域名邮箱的服务器地址 $mail->SMTPSecure = 'ssl'; #设置使用ssl加密方式登录鉴权 $mail->Port = 465; #设置ssl连接smtp服务器的远程服务器端口号 $mail->CharSet = 'UTF-8'; #设置发送的邮件的编码 $mail->FromName = 'xxx'; #设置发件人昵称 显示在收件人邮件的发件人邮箱地址前的发件人姓名 $mail->Username = 'xxx@qq.com'; #smtp登录的账号 $mail->Password = 'xxxx'; #smtp登录的密码 使用生成的授权码 $mail->From = 'xxx@qq.com'; #设置发件人邮箱地址 同登录账号 //邮件正文是否为html编码 $mail->isHTML(true); //设置收件人邮箱地址 $mail->addAddress($user); //添加多个收件人 则多次调用方法即可 //$mail->addAddress('xxx@qq.com'); //添加该邮件的主题 $mail->Subject = '验证码'; //添加邮件正文 $mail->Body = "您的验证码是" . $code; //为该邮件添加附件 //$mail->addAttachment('./example.pdf'); //发送邮件 返回状态 if ($mail->send()) { //成功 return json_encode(['code' => '1']); } else { //失败 return json_encode(['code' => '0']); } }
3.在控制器调用函数,在其他地方也应可以
public function emali(){ mailto('xxxxx@qq.com', '3652'); }
本文来自博客园,作者:小枫同学,除网络转载的部分,其他版权属于作者和博客园所有,未经作者或博客园许可,禁止转载、复制、重新发布完整或者部分文字、代码、图片等信息,否则将保留追究法律责任的权利(如博客侵权了您的作品,本人再次表示抱歉,请将原创地址发送至下文邮箱,核实后立刻删除。)。查阅文章的同学,由于网络爬虫严重,有些代码并不会完整贴出来或者存在bug,不过你可以发送邮件到xfstune@126.com获取新代码,记得附上文章链接

浙公网安备 33010602011771号