StagingEmail and webhooks, caught

Keep test traffic away from real users.

Point staging SMTP and webhook URLs at us. Test without worrying about emailing real customers: we capture the emails and never deliver them. Webhooks stay here unless you configure forwarding or replay a request.

Your staging app
Forgot your password?
customer@example.com
Send reset code
SMTP_HOST=smtp.ammo.tools
customer@example.comNever delivered to the real inbox
ammo.toolsEmail 2Webhooks 4
nowYour reset codecustomer@example.com
Welcome to Acmetest-user@example.com
Your receipttest-user@example.com
Waiting for mail...
Your reset code
From no-reply@acme.test
To customer@example.com
Captured, not delivered
Use this code to reset your password:
482913Possible code
Or open acme.test/reset
Your testspassword_reset.test
$
GET /api/v1/inboxes/{id}/messages?wait=20 waiting...200
GET /api/v1/messages/{id}/codes 200 ["482913"]
✓ password reset · 1 passed 0 emails sent to real users
Mail and webhooks

One place for mail and webhooks from staging.

Test without worrying about emailing real customers. Webhooks stay here unless you configure forwarding or replay a request.

Subject Your receipt
To test-user@example.com
HTMLTextHeadersRaw
PDF
receipt-1042.pdf48 KB · checksum ok

See what the staging environment would have sent.

HTML, text, headers, attachments. Your staging or test environment uses our SMTP instead of a real mailbox.

Connect your app →
POSTpayment.succeeded200 · your response
{
  "type": "payment.succeeded",
  "amount": 900,
  "currency": "eur"
}
↻ Replay→ localhost:8000cURL

See what providers would have posted.

Body, headers, response you choose. Replay a request, or forward it to localhost while you debug.

Setup guide →
Inspect, compare and test

Find the problem before a customer does.

Desktop
1 issue
Mobile

Inspect and compare emails

Preview HTML at desktop and mobile widths. Inspect headers, attachments, links and possible verification codes. Check captured content for common issues and compare two messages.

2.1content score
Image-heavy message
Link text hides the URL
Plain-text part present
↻ Recheck

See why a message looks like spam

Inspect content spam scores and matched findings, then recheck after a change. These checks assess message content, not inbox placement.

451Temporary failure
550Permanent rejection
Turns off in 14:59

Test your SMTP error handling

Simulate temporary 451 failures or permanent 550 rejections for one inbox. The simulation turns off automatically after 15 minutes.

GET /api/v1/messages/{id}/links
200 ["https://acme.test/verify?t=..."]
APIMCP for code agentslocalhost CLI

Fetch captures from tests and agents

Use the API to retrieve messages, links and webhook payloads in your tests. Connect your code agent through MCP, or forward webhooks to localhost with the CLI.

Will you send my captured emails? No.

The SMTP inbox captures messages for inspection. It never relays them to their recipients.

Captured, never relayedAuthenticated SMTP only, with its own credentials per inbox.
Sandboxed HTML previewsRemote images load only when you choose.
Expired captures are deletedOne day on Free, 14 days on Solo, 30 days on Team.
Stored in the EUBy AMMO, a Dutch company.
Pricing

Same product, more room.

Every plan includes email catch, webhooks, API access and localhost forwarding. Paid plans buy more room, longer history and more people — not a different product.

Free

€0No card needed

The everyday toolkit for a solo developer.

  • 1 project, 1 inbox, 1 endpoint
  • 1 day retention, 238.4 MB storage
  • 50 emails per inbox
Start free
Recommended

Solo

€9per month
VAT included

More room and history for growing projects.

  • 3 projects, 5 inboxes, 5 endpoints
  • 14 days retention, 4.7 GB storage
  • 3 members
  • 1000 emails per inbox
Choose Solo

Team

€39per month
VAT included

Room for more projects and the people building them.

  • Unlimited projects, 25 inboxes, 25 endpoints
  • 30 days retention, 23.3 GB storage
  • Unlimited members
  • 5000 emails per inbox
Choose Team
EnterpriseNeed higher limits or a custom agreement?
Talk to AMMO →

Prices are per workspace, billed monthly. Checkout shows the total before you pay.

One place for mail and webhooks from staging and test environments.

No card. Free plan: one inbox and one webhook endpoint.

AMMO Solutions

Made in the Netherlands

AMMO products

ammo.host Hosting for apps you build with AI
ammo.tools Catch staging email and webhooks
You are here
© 2026 AMMO Solutions Kloosterdijk 6, 1141 PJ Monnickendam, Netherlands KvK 68679750 VAT NL001694241B13