API 文档

所有 API 都需要 Bearer Token 或 X-API-Key 认证

快速入门(三步)

第一步:注册并获取 API Key

# 注册账号
curl -X POST https://mailos.uvlio.com/api/auth/register \
  -H "Content-Type: application/json" \
  -d '{"email":"your@email.com","password":"yourpass"}'

# 登录获取 Token
curl -X POST https://mailos.uvlio.com/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"your@email.com","password":"yourpass"}'
→ {"token":"eyJ...","user":{...}}

# 用 Token 创建 API Key
curl -X POST https://mailos.uvlio.com/api/keys \
  -H "Authorization: Bearer eyJ..." \
  -H "Content-Type: application/json" \
  -d '{"name":"My API Key"}'
→ {"key":"mk_xxxx...","id":1}

第二步:用 API Key 查收件箱

# Header 认证(推荐)
curl -H "X-API-Key: mk_xxxx" https://mailos.uvlio.com/api/v1/cloud-mail/inbox/abc123@dev.edu.pl
① 原生 Mailos API
功能最完整
# 收件箱列表(支持筛选)
GET /api/emails?domain=xxx&from=xxx

# 邮件详情
GET /api/emails/{id}

# 删除邮件
DELETE /api/emails/{id}

# 域名列表 / 同步
GET  /api/domains
POST /api/domains/sync

# 子域名管理
GET  /api/subdomains
POST /api/subdomains  {"domainId":1,"prefix":"mail"}

# 验证码列表
GET /api/codes

# 使用统计
GET /api/stats
② CloudMail 兼容
/api/v1/cloud-mail
# 查收件箱(email = localpart@domain)
GET /api/v1/cloud-mail/inbox/{email}

# 获取邮件
GET /api/v1/cloud-mail/email/{id}

# 删除邮件
DELETE /api/v1/cloud-mail/email/{id}
③ TempMail 兼容
/api/v1/tempmail
# 查收件箱
GET /api/v1/tempmail/{domain}/{token}

# 获取邮件
GET /api/v1/tempmail/mail/{id}

# 删除邮件
DELETE /api/v1/tempmail/mail/{id}
④ MoEmail 兼容
/api/v1/moemail
# 查收件箱
GET /api/v1/moemail/{domain}/{token}

# 获取邮件
GET /api/v1/moemail/mail/{id}

# 删除邮件
DELETE /api/v1/moemail/mail/{id}
关于子域名的实现说明

dreamhunter2333/cloudflare_temp_email 项目的"子域名"方案本质是随机前缀模式,并不是 DNS 层面的子域名:

它的运作方式:

  1. 用户在环境变量或管理后台配置基础域名(如 domain.com)
  2. 创建邮箱时生成随机前缀(如 a1b2c3)
  3. 完整邮箱为 a1b2c3@domain.com
  4. Cloudflare Email Routing 的 catch-all 捕获 *@domain.com 的所有邮件
  5. Worker 解析邮件,提取 local_part(即 a1b2c3)作为邮箱标识

这和我们 /api/v1/tempmail/{domain}/{token} 的实现完全一致——token 就是邮箱随机前缀。不需要在 Cloudflare DNS 创建任何子域名记录。

注:真正的 DNS 子域名(如 user@sub.domain.com)需要单独的 Email Routing 配置,这种方式更复杂且大多数临时邮箱服务不采用。