Gmail 托管思路 + 别名生成工具

当前已按“页面层 / 业务层 / API 层”拆分,避免单文件臃肿。前端页面负责展示,API 接口负责返回 JSON,业务逻辑拆到 lib 中,便于后续扩展为真正的托管后台。

会员注册 / 会员登录 / Admin 后台

当前未登录。为了避免游客绕过会员限制,首页的“生成临时邮箱”和“读取邮件验证码”功能现在需要先登录会员账号后才能使用。

1. 生成 Gmail 临时邮箱

下载 CSV 列表
类型 邮箱

2. 查看 Gmail 收到的验证码

使用前请先在你的 Google 账号中开启两步验证,并生成 App Password。后续如果做真正“托管”后台,建议增加数据库表:账号表、别名表、邮件表、验证码表、任务表。
为了避免 IMAP 拉取过多邮件导致页面卡顿,当前页面读取最近邮件数量已限制为 最多 3 封

3. 第三方客户端对接说明

当前系统已经支持通过 API 对外获取“最新一封验证码邮件”和“最新验证码”。也就是说,不只是页面里手动查看,第三方客户端也可以直接请求接口自动读取结果。

是否自动输出展示?
当前页面中的“读取最近邮件”是即时请求接口后自动展示结果;如果第三方系统需要自动取码,可以直接调用下面的 API 地址。

接口 1:读取最近邮件列表

POST /api/check_mail.php

参数:
imap_email     Gmail 地址
imap_password  Gmail App Password
limit          读取数量,默认 3,最大 3

接口 2:获取最新验证码

POST /api/latest_code.php

参数:
imap_email     Gmail 地址(必填)
imap_password  Gmail App Password(必填)
limit          检索最近多少封邮件,默认 3,最大 3
alias_email    可选,指定托管别名邮箱进行匹配
keyword        可选,按主题或正文关键词过滤

返回示例

{
  "success": true,
  "message": "获取成功",
  "data": {
    "latest_code": "123456",
    "latest_mail": {
      "subject": "Your verification code",
      "from": "no-reply@example.com",
      "to": "demo+abcdtemp1234@gmail.com",
      "date": "Thu, 02 Apr 2026 23:30:00 +0800",
      "codes": ["123456"],
      "preview": "Your verification code is 123456"
    },
    "matched_count": 1
  }
}

curl 调用示例

curl -X POST http://127.0.0.1:8000/api/latest_code.php ^
  -d "imap_email=yourname@gmail.com" ^
  -d "imap_password=你的AppPassword" ^
  -d "alias_email=yourname+abcdtemp1234@gmail.com"

说明:当前实现是支持的,可以被第三方客户端直接调用。现阶段属于“实时读取型 API”,即接口请求时才连接 Gmail IMAP 拉取数据;如果后续升级为数据库托管版,就可以做到“先入库、再对外 API 查询”,性能和管理能力会更好。