HTTP 接口文档
自建临时邮箱 API。随机创建邮箱无需密钥;按地址查询、列表与指定 local 创建在配置了 api_key 时需鉴权。
鉴权说明
两种方式可并存,按接口要求选用。
| 方式 | 用法 |
|---|---|
Bearer token |
创建邮箱后返回的 token:Authorization: Bearer <token> |
api_key |
公网敏感操作:Header X-Api-Key,或 Query ?key=,或 Authorization: ApiKey <key> |
Admin token |
管理后台登录后获得:Header X-Admin-Token,或 Authorization: Admin <token> |
# 邮箱会话 Authorization: Bearer <mailbox_token> # 按地址打开(需配置 api_key) X-Api-Key: <your_api_key> # 管理后台(密码登录后) X-Admin-Token: <admin_token>
GET
/api/health
健康检查
无需鉴权。返回服务状态与域名信息。
curl http://127.0.0.1:8765/api/health
{
"ok": true,
"provider": "self-hosted",
"domain": "misschat.chat",
"smtp_port": 25
}
GET
/api/config
公开配置
无需鉴权。返回域名、SMTP 端口、是否 catch-all。
curl http://127.0.0.1:8765/api/config
{
"domain": "misschat.chat",
"smtp_port": 25,
"catch_all": true
}
GET
/api/mailboxes
邮箱列表
需要 api_key(若已配置)。
| 参数 | 说明 |
|---|---|
limit | 数量上限,默认 100,最大 500 |
tokens | 设为 1/true 时返回 token |
curl -H "X-Api-Key: YOUR_KEY" \ "http://127.0.0.1:8765/api/mailboxes?limit=50"
GET
/api/mailbox
打开 / 查询邮箱
用地址打开已有邮箱,或用 Bearer 查看当前会话邮箱。
| 参数 | 说明 |
|---|---|
address / email / local | 完整地址或本地部分;按地址打开需 api_key |
create | 默认 1;不存在时是否创建 |
| Bearer | 不传 address 时,用 token 返回当前邮箱 |
# 按地址打开(需 api_key) curl -H "X-Api-Key: YOUR_KEY" \ "http://127.0.0.1:8765/api/mailbox?address=demo@misschat.chat" # 用 token 查看 curl -H "Authorization: Bearer TOKEN" \ http://127.0.0.1:8765/api/mailbox
POST
/api/mailbox
创建邮箱
随机创建可匿名;指定 local/address 需 api_key。
| Body JSON | 说明 |
|---|---|
local | 可选,本地部分,如 demo |
address / email | 可选,完整地址或本地部分 |
# 随机新建
curl -X POST http://127.0.0.1:8765/api/mailbox \
-H "Content-Type: application/json" -d "{}"
{
"id": "...",
"address": "xxxx@misschat.chat",
"token": "...",
"reused": false
}
# 指定本地名(需 api_key)
curl -X POST http://127.0.0.1:8765/api/mailbox \
-H "Content-Type: application/json" \
-H "X-Api-Key: YOUR_KEY" \
-d "{\"local\":\"demo\"}"
GET
/api/messages
邮件列表
需要 Bearer token,或 address + api_key。
curl -H "Authorization: Bearer TOKEN" \ http://127.0.0.1:8765/api/messages # 或 curl -H "X-Api-Key: YOUR_KEY" \ "http://127.0.0.1:8765/api/messages?address=demo@misschat.chat"
GET
/api/messages/<id>
邮件详情
需要 Bearer token,或 address + api_key。
curl -H "Authorization: Bearer TOKEN" \ http://127.0.0.1:8765/api/messages/MSG_ID
GET
/api/code
提取最新验证码
需要 Bearer token,或 address + api_key。无验证码时返回 404。
| 参数 | 说明 |
|---|---|
keyword | 可选,按关键词过滤邮件后再提取 |
curl -H "Authorization: Bearer TOKEN" \ "http://127.0.0.1:8765/api/code?keyword=Cursor"
GET
/api/wait
长轮询等待验证码
需要 Bearer token,或 address + api_key。超时返回 408。
| 参数 | 说明 |
|---|---|
timeout | 秒,默认 90 |
interval | 轮询间隔秒,默认 3 |
since / since_id | 只等此 ID 之后的新邮件 |
keyword | 可选关键词过滤 |
curl -H "Authorization: Bearer TOKEN" \ "http://127.0.0.1:8765/api/wait?timeout=90&keyword=Cursor"
DELETE
/api/messages/<id>
删除邮件
需要 Bearer token,或 address + api_key。
curl -X DELETE \
-H "Authorization: Bearer TOKEN" \
http://127.0.0.1:8765/api/messages/MSG_ID
{ "ok": true }
管理后台 · 多域名
网页入口 /admin。密码为服务器 config.json 的 admin_password。添加域名后仍需自行配置 MX 指向本机。
| 方法 | 路径 | 说明 |
|---|---|---|
POST | /api/admin/login | {"password":"..."} → token |
POST | /api/admin/logout | 注销会话 |
GET | /api/admin/domains | 域名列表 |
POST | /api/admin/domains | {"domain":"a.com","make_default":false} |
POST | /api/admin/domains/<name>/default | 设为默认域名 |
DELETE | /api/admin/domains/<name> | 删除域名 |
# 登录
curl -X POST http://127.0.0.1:8765/api/admin/login \
-H "Content-Type: application/json" \
-d '{"password":"YOUR_ADMIN_PASSWORD"}'
# 添加域名
curl -X POST http://127.0.0.1:8765/api/admin/domains \
-H "Content-Type: application/json" \
-H "X-Admin-Token: TOKEN" \
-d '{"domain":"mail.example.com"}'
# 创建邮箱时可指定域名
curl -X POST http://127.0.0.1:8765/api/mailbox \
-H "Content-Type: application/json" \
-d '{"domain":"mail.example.com"}'