使用tp5+gmail 发送邮件
1.准备工作
1 2 3 4 5 6 7 8 | 1.开启服务器端口 2.开启php.ini中的配置 ;extension=php_sockets.dll ;extension=php_openssl.dll这两行去掉分号 3.谷歌邮箱 4.服务器要能链接谷歌,有外网 5.谷歌邮箱要开启imap访问, 6.谷歌账号要开启低安全性应用登陆认证。开启地址: https: //myaccount.google.com/lesssecureapps |
2.邮箱要开启imap访问
在能访问外网的环境中,登录谷歌账号,开启服务
3.邮箱开启低安全性应用登录认证,访问连接开启
4.在tp5拓展extend目录放入PHPMailer拓展https://github.com/zhangyouwu/phpmailer.git
5.控制器方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | <?php namespace app\api\controller; use think\Controller; use think\Db; use phpmailer\PHPMailer; class Test extends Controller { /** * 发送邮箱 * @param type $data 邮箱队列数据 包含邮箱地址 内容 */ function sendMail() { $mail = new PHPMailer(); //实例化 $mail->CharSet= 'UTF-8' ; //设置字符集 //var_dump($toarr);exit(); $mail->IsHTML( true ); //是否使用HTML格式 //使用smtp鉴权方式发送邮件 $mail->isSMTP(); //smtp需要鉴权 这个必须是true $mail->SMTPAuth = true ; /* // qq 邮箱的 smtp服务器地址,这里当然也可以写其他的 smtp服务器地址 $mail->Host = 'smtp.qq.com'; //smtp登录的账号 这里填入字符串格式的qq号即可 $mail->Username = "6023xxx02@qq.com"; // 这个就是之前得到的授权码,一共16位 $mail->Password = "hilmigjuhqxibdif"; $mail->setFrom("6023xxx02@qq.com", "zzz"); // $to 为收件人的邮箱地址,如果想一次性发送向多个邮箱地址,则只需要将下面这个方法多次调用即可 $mail->addAddress("zhangyouwu1018@gmail.com"); */ $mail->Host = 'smtp.gmail.com' ; $mail->Username = "zhangyouwu1018@gmail.com" ; $mail->Password = "zyw6023xxx02" ; $mail->setFrom( "zhangyouwu1018@gmail.com" , "测试" ); $mail->addAddress( "6023xxx02@qq.com" ); // 该邮件的主题 $mail->Subject = "会议通知" ; // 该邮件的正文内容 $mail->Body = "测试,今天下午3点开会" ; $mail->SMTPSecure = 'ssl' ; // 设置ssl连接smtp服务器的远程服务器端口号 $mail->Port = 465; // 使用 send() 方法发送邮件 if (!$mail->send()) { //return "1"; return '发送失败: ' . $mail->ErrorInfo; } else { return "0" ; //return "发送成功"; } } } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)