SKILL·BD95A5

testing-with-sandbox

mailtrap
Updated Yesterday
7
1
7
View on GitHub
Testingaitestingapiautomation

About

This skill enables developers to test outbound email functionality by capturing messages in a safe sandbox environment instead of sending to real recipients. It's used for inspecting email content, running spam checks, and automating tests against a fake inbox during development or staging. The skill supports integration via SDKs, HTTP API, or SMTP when working with services like Mailtrap Email Sandbox.

Quick Install

Claude Code

Recommended
Primary
npx skills add mailtrap/mailtrap-skills -a claude-code
Plugin CommandAlternative
/plugin add https://github.com/mailtrap/mailtrap-skills
Git CloneAlternative
git clone https://github.com/mailtrap/mailtrap-skills.git ~/.claude/skills/testing-with-sandbox

Copy and paste this command in Claude Code to install this skill

Documentation

Testing with Mailtrap Email Sandbox

Overview

Email Sandbox captures mail in sandboxes (test inboxes)—a test environment where messages are not delivered to real recipients. You can send to sandboxes using our SDKs, HTTP API, or SMTP, depending on your needs.

Before generating SDK code: read the README of the relevant SDK repository (see sending-emails) for current sandbox mode options, inbox id, and constructor flags. Do not rely on memory.

Related skills: authorizing-api-requests (sandbox token scope, env vars, account_id resolution), sending-emails (live sending hosts and streams), using-email-templates (preview template sends in sandbox).

When to use

  • You want no real delivery: dev, staging, CI, or demos where mail must stay in a test inbox.
  • You need to inspect what was sent: bodies, headers, attachments, or basic checks (e.g. spam report) via Sandbox / Testing API or the UI.
  • You are automating tests against captured mail.
  • You will only change SMTP settings so an existing app sends into a sandbox—no need for a framework-by-framework tutorial from this skill.

When not to use

  • Live sends to real recipients (sending-emails).
  • For full framework setup guides or detailed API references, link users to Mailtrap's Integration tab for SMTP/API details and the API docs for specifics—don't cover every framework or API field here.

Quick reference

API base

ServiceSend mail URLAuth header examples
Email Testing API (REST)https://sandbox.api.mailtrap.io/api/send/{inbox_id}Authorization: Bearer $MAILTRAP_SANDBOX_API_TOKEN

Tokens and account_id

Sandbox uses a separate token ($MAILTRAP_SANDBOX_API_TOKEN, Testing/Sandbox scope) — never reuse the live $MAILTRAP_API_TOKEN. The account_id in the example endpoints below is resolved at runtime via GET https://mailtrap.io/api/accounts. Full token scope, storage, and account_id resolution: see skill authorizing-api-requests.

When to use API vs SMTP

Use SMTP when testing apps that already send mail via SMTP (just update the host, port, and credentials). Use the HTTP API when building new integrations or your app can make HTTP requests; it's better for programmatic testing and automation.

SMTP settings (sandbox)

SettingValue
Hostsandbox.smtp.mailtrap.io
Ports2525 (default), 25, 465 (SSL), 587
Username / PasswordPer sandbox credentials from the Integration tab in the Mailtrap UI

Never use sandbox credentials or endpoints in production. Messages will only be captured in the sandbox, not delivered.

Key parameters

  • Inbox ID: Every sandbox (test inbox) has a unique inbox id, visible in the UI URL and needed for sending or REST API operations.
  • Token scope: Use a token with permissions for the relevant project and test inbox.

Typical use cases

  • Capture all outbound mail in dev, test, or staging (no real recipients).
  • View, validate, and assert message headers, bodies, HTML, attachments, or spam score.
  • Run integration or CI checks that read from the Email Sandbox API.
  • Test Mailtrap templates by pointing API or SDK/SMTP at sandbox.api.mailtrap.io / sandbox.smtp.mailtrap.io with a valid inbox id.

Example API paths

Use API docs for details, but typical endpoints include:

OperationURLReference
List sandboxesGET https://mailtrap.io/api/accounts/$MAILTRAP_ACCOUNT_ID/inboxesSandboxes API
List messagesGET https://mailtrap.io/api/accounts/$MAILTRAP_ACCOUNT_ID/inboxes/{inbox_id}/messagesMessages
Fetch a messageGET https://mailtrap.io/api/accounts/$MAILTRAP_ACCOUNT_ID/inboxes/{inbox_id}/messages/{id}Message details
Send test emailPOST https://mailtrap.io/api/accounts/$MAILTRAP_ACCOUNT_ID/inboxes/{inbox_id}/messagesSend test emails

For template testing, see the Integration tab of your template and Handlebars.

SDKs

Official Mailtrap SDKs support sandbox/inbox operations and provide flags or methods to set test mode and inbox id. This allows you to use the same integration for both live sending and sandbox testing—simply change the mode or credentials depending on your environment (development, staging, or production). For install commands and language coverage, see Mailtrap developer documentation. Repository READMEs have the latest sandbox options:

Common mistakes

MistakeFix/Explanation
Expecting real delivery from sandboxMail in the sandbox is never delivered to recipients
Using production API token for sandboxUse a token with proper sandbox/testing scope, granting access to the target inbox
Forgetting inbox id parameterAlways supply the inbox id (from UI or Integration tab) to associate messages with the correct inbox
Mixing sandbox and transactional endpointsTesting API (sandbox.api.mailtrap.io) is not the same as send.api.mailtrap.io (live sending)!

Sandbox email address

Each sandbox (test inbox) has an address like alias@inbox.mailtrap.io for inbound tests; plus-addressing can help isolate scenarios. See Email address per sandbox for limits and behavior.

GitHub Repository

mailtrap/mailtrap-skills
Path: skills/testing-with-sandbox
0
FAQ

Frequently asked questions

What is the testing-with-sandbox skill?

testing-with-sandbox is a Claude Skill by mailtrap. Skills package instructions and resources that Claude loads on demand, so Claude can perform testing-with-sandbox-related tasks without extra prompting.

How do I install testing-with-sandbox?

Use the install commands on this page: add testing-with-sandbox to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.

What category does testing-with-sandbox belong to?

testing-with-sandbox is in the Testing category, tagged ai, testing, api, and automation.

Is testing-with-sandbox free to use?

Yes. testing-with-sandbox is listed on AIMCP and free to install.

Related Skills

evaluating-llms-harness
Testing

This Claude Skill runs the lm-evaluation-harness to benchmark LLMs across 60+ standardized academic tasks like MMLU and GSM8K. It's designed for developers to compare model quality, track training progress, or report academic results. The tool supports various backends including HuggingFace and vLLM models.

View skill
cloudflare-cron-triggers
Testing

This skill provides comprehensive knowledge for implementing Cloudflare Cron Triggers to schedule Workers using cron expressions. It covers setting up periodic tasks, maintenance jobs, and automated workflows while handling common issues like invalid cron expressions and timezone problems. Developers can use it for configuring scheduled handlers, testing cron triggers, and integrating with Workflows and Green Compute.

View skill
webapp-testing
Testing

This Claude Skill provides a Playwright-based toolkit for testing local web applications through Python scripts. It enables frontend verification, UI debugging, screenshot capture, and log viewing while managing server lifecycles. Use it for browser automation tasks but run scripts directly rather than reading their source code to avoid context pollution.

View skill
finishing-a-development-branch
Testing

This skill helps developers complete finished work by verifying tests pass and then presenting structured integration options. It guides the workflow for merging, creating PRs, or cleaning up branches after implementation is done. Use it when your code is ready and tested to systematically finalize the development process.

View skill