password
查看人数
type
Post
status
Published
date
Mar 31, 2026 08:51
slug
5bf2b26e-20bc-4468-88eb-4da5439f9999
summary
category
技术分享
icon
tags
工具
作者
状态
待发布
在需要邮箱验证的测试场景中,你是否为以下问题烦恼?
手工注册新账号,需要反复查收、填写验证码,效率低下。
测试账号与个人/工作邮箱绑定,测试邮件污染收件箱。
自动化测试中,邮箱的注册、收信、解析环节不稳定,难以断言。
临时邮箱服务是解决这些痛点的绝佳工具。 本文将以 Mail.cx为例,为你梳理从手动操作到接口集成的完整使用指南,助你显著提升测试效率。

一、核心价值:为什么测试要用临时邮箱?

在注册、验证码、找回密码、通知触达等场景中,临时邮箱能帮助测试同学:
快速造号,降低手工成本:瞬间生成专属邮箱,无需准备或寻找真实邮箱。
隔离测试数据,避免污染:测试邮件与真实邮箱完全隔离,收件箱清爽可控。
稳定自动化流程:为自动化测试提供稳定的「收件 → 解析 → 断言」能力,实现端到端验证。

二、快速上手:页面使用(手动测试)

对于手工测试或快速验证,网页版是最直接的方式。
访问地址:https://mail.cx
创建邮箱:
在输入框中,可以自定义邮箱前缀(如 my_test_user),或直接点击“随机生成”。
选择可用的域名(如 @mail.cx)。
设置密码,点击“创建账户”。
notion image
查看邮件:
创建成功后,页面即转为收件箱。系统发送的欢迎邮件会即刻到达。
邮件列表会直接展示发件人、主题和部分内容预览。
notion image
查看详情:点击任意邮件,即可查看完整内容,包括发件人、收件人、主题、HTML/纯文本正文等。
notion image

三、集成指南:API 使用(自动化测试)

基础地址:https://api.mail.cx。官方参考:Mail.cx API
步骤
接口
方法
做什么
1
/api/domains
GET
拉可用域名列表
2
/api/accounts
POST
创建临时邮箱(address + password
3
/api/token
POST
用账号密码换 Bearer token;若上一步响应里已有 token,可省略本步
4
/api/messages
GET
查收件箱(请求头:Authorization: Bearer <token>
5
/api/messages/{id}
GET
读单封邮件详情
推荐心智模型:先域名 → 拼一个不撞车的地址 → 建号 → 拿 token → 轮询收件 → 用 id 拉详情。

2. 响应结构:和文档不一致时怎么解析

线上返回与 OpenAPI 文档里的 hydra:member 不一定一致。下面按「实际常见字段 → 兜底」来写解析逻辑即可。

2.1 GET /api/domains

  • 常见domains: [{ "id", "domain", ... }]
  • 兜底hydra:member
  • 建议:优先读 domains,没有再读 hydra:member

2.2 GET /api/messages

  • 常见messages: [],并可能带 page
  • 兜底hydra:member / items / data
  • 建议:按固定顺序找「第一个列表字段」作为邮件数组

2.3 POST /api/accounts

  • 成功时响应里可能直接带 token,语义与 /api/token 一致。
  • 示例脚本里仍调用 /api/token,是为了:流程清晰、以及后续「已有账号只换 token」时可直接复用。

3. Python 示例

依赖:pip install requests

4. 自动化里建议怎么验

用清单比「只盯状态码」更稳:
  • 域名:能解析出至少一个 domain 字符串
  • 建号:HTTP 成功(常见 201),体里有 addressid(有时还带 token
  • 鉴权token 非空;后续请求带 Authorization: Bearer
  • 收件:同时覆盖「暂无邮件」与「已有邮件」;有邮件时用 id 拉详情,断言主题、发件人、正文等关键字段

5. 常见问题速查

现象
优先排查
解析不到域名
是否只读了 hydra:member,漏了 domains
收件一直为空
业务侧邮件未到;或只读了 hydra:member,漏了 messages
401
是否带 Authorization: Bearer;token 是否过期或与账号不一致
建号失败
address 是否重复;本地名加时间戳/随机串保证唯一
日志里不要完整打印 JWT;对外分享或截图时请打码。临时邮箱仅用于测试场景,勿承载真实隐私。
💡
有关使用上的问题,欢迎您在底部评论区留言,一起交流~
免费API手机GitHub 项目收藏
Loading...