mcpField
T
testing-with-sandbox

testing-with-sandbox

github.com/mailtrap测试与质量1156 次安装今天更新
代码仓库

关于 testing-with-sandbox

testing-with-sandbox 是一项介绍如何使用 Mailtrap Email Sandbox 测试邮件的技能,面向开发、测试和 CI 场景。它说明如何通过 SMTP、HTTP API 或 SDK 将邮件送入测试收件箱,并检查捕获的内容,而不向真实收件人投递。

主要功能

  1. 01通过 SMTP、HTTP API 或 SDK 发送测试邮件
  2. 02将邮件捕获到隔离的测试收件箱
  3. 03检查邮件正文、标头和附件
  4. 04通过 API 自动化邮件验证

适用场景

  1. 01在开发或暂存环境拦截外发邮件
  2. 02在 CI 中验证邮件内容与附件
  3. 03测试 Mailtrap 模板而不实际投递

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mailtrap/mailtrap-skills --skill testing-with-sandbox

安装后在 Claude Code 中输入/testing-with-sandbox确认已加载。

详细介绍

使用 Mailtrap Email Sandbox 进行测试

概述

Email Sandbox 会将邮件捕获到 沙盒(测试收件箱) 中——这是一个测试环境,邮件不会投递给真实收件人。根据需要,你可以通过我们的 SDK、HTTP API 或 SMTP 向沙盒发送邮件。

**生成 SDK 代码前:**请阅读相关 SDK 仓库的 README(参见 sending-emails),了解当前的沙盒模式选项、收件箱 ID 和构造函数标志。请勿凭记忆操作。

相关技能:authorizing-api-requests(沙盒令牌权限范围、环境变量、account_id 解析)、sending-emails(实际发送主机和邮件流)、using-email-templates(在沙盒中预览模板邮件)。

适用场景

  • 你不希望实际投递邮件:在开发、预发布、CI 或演示环境中,邮件必须留在测试收件箱内。
  • 你需要通过 Sandbox / Testing API 或 UI 检查发送的内容:邮件正文、标头、附件或基本检查结果(例如垃圾邮件报告)。
  • 你需要对捕获的邮件进行自动化测试。
  • 你只想更改 SMTP 设置,让现有应用向沙盒发送邮件——无需使用本技能查看各个框架的教程。

不适用场景

  • 向真实收件人实际发送邮件(sending-emails)。
  • 如需完整的框架配置指南或详细的 API 参考,请引导用户前往 Mailtrap 的 Integration 标签页查看 SMTP/API 详情,以及 API 文档了解具体信息——此处不涵盖每个框架或 API 字段。

快速参考

API 基础地址
服务邮件发送 URL身份验证标头示例
Email Testing API (REST)https://sandbox.api.mailtrap.io/api/send/{inbox_id}Authorization: Bearer $MAILTRAP_SANDBOX_API_TOKEN
令牌和 account_id

Sandbox 使用独立的令牌($MAILTRAP_SANDBOX_API_TOKEN,Testing/Sandbox 权限范围)——切勿重复使用实际发送所用的 $MAILTRAP_API_TOKEN。以下示例端点中的 account_id 会在运行时通过 GET https://mailtrap.io/api/accounts 解析。有关令牌权限范围、存储和 account_id 解析的完整说明,请参阅技能 authorizing-api-requests。

何时使用 API 与 SMTP

测试已通过 SMTP 发送邮件的应用时,使用 SMTP(只需更新主机、端口和凭据)。 构建新的集成,或应用能够发送 HTTP 请求时,使用 HTTP API;它更适合程序化测试和自动化。

SMTP 设置(沙盒)
设置值
主机sandbox.smtp.mailtrap.io
端口2525(默认)、25、465(SSL)、587
用户名 / 密码Mailtrap UI 中 Integration 标签页提供的沙盒凭据

切勿在生产环境中使用沙盒凭据或端点。邮件只会被捕获到沙盒中,不会实际投递。

关键参数
  • 收件箱 ID:每个沙盒(测试收件箱)都有唯一的收件箱 ID,可在 UI URL 中查看;发送邮件或执行 REST API 操作时需要用到。
  • 令牌权限范围:使用具有相关项目和测试收件箱权限的令牌。
典型用例
  • 在开发、测试或预发布环境中捕获所有外发邮件(不投递给真实收件人)。
  • 查看、验证并断言邮件标头、正文、HTML、附件或垃圾邮件评分。
  • 运行从 Email Sandbox API 读取数据的集成测试或 CI 检查。
  • 测试 Mailtrap 模板:使用有效的收件箱 ID,将 API 或 SDK/SMTP 指向 sandbox.api.mailtrap.io / sandbox.smtp.mailtrap.io。
API 路径示例

详情请参阅 API 文档,常见端点包括:

操作URL参考资料
列出沙盒GET https://mailtrap.io/api/accounts/$MAILTRAP_ACCOUNT_ID/inboxes沙盒 API
列出邮件GET https://mailtrap.io/api/accounts/$MAILTRAP_ACCOUNT_ID/inboxes/{inbox_id}/messages邮件
获取邮件GET https://mailtrap.io/api/accounts/$MAILTRAP_ACCOUNT_ID/inboxes/{inbox_id}/messages/{id}邮件详情
发送测试邮件POST https://mailtrap.io/api/accounts/$MAILTRAP_ACCOUNT_ID/inboxes/{inbox_id}/messages发送测试邮件

有关模板测试,请参阅模板的 Integration 选项卡和 Handlebars。

SDK

Mailtrap 官方 SDK 支持沙盒/收件箱操作,并提供用于设置测试模式和收件箱 ID的标志或方法。因此,你可以使用同一套集成进行实时发送和沙盒测试,只需根据环境(开发、预发布或生产)更改模式或凭据即可。有关安装命令和支持的语言,请参阅 Mailtrap 开发者文档。代码仓库中的 README 包含最新的沙盒选项:

常见错误
错误修正/说明
期望沙盒邮件能够实际送达沙盒中的邮件绝不会送达收件人
在沙盒中使用生产 API 令牌使用具有适当沙盒/测试权限范围的令牌,以便访问目标收件箱
忘记 收件箱 ID 参数务必提供收件箱 ID(来自 UI 或 Integration 选项卡),以便将邮件关联到正确的收件箱
混用沙盒和事务性端点测试 API(sandbox.api.mailtrap.io)与 send.api.mailtrap.io(实时发送)并不相同!
沙盒邮箱地址

每个沙盒(测试收件箱)都有一个类似 [email protected] 的地址,用于接收入站测试邮件;使用加号地址可以帮助隔离不同场景。有关限制和行为,请参阅每个沙盒的邮箱地址。

评论

支持 Markdown