当前已按“页面层 / 业务层 / API 层”拆分,避免单文件臃肿。前端页面负责展示,API 接口负责返回 JSON,业务逻辑拆到 lib 中,便于后续扩展为真正的托管后台。
是否自动输出展示?
当前页面中的“读取最近邮件”是即时请求接口后自动展示结果;如果第三方系统需要自动取码,可以直接调用下面的 API 地址。
POST /api/check_mail.php
参数: imap_email Gmail 地址 imap_password Gmail App Password limit 读取数量,默认 3,最大 3
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 -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 查询”,性能和管理能力会更好。