使用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 "发送成功";
    }
}
 
 
}

  

 

posted @   zhang_you_wu  阅读(1014)  评论(0编辑  收藏  举报
编辑推荐:
· 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)
点击右上角即可分享
微信分享提示