Catch staging emails
Prevent staging and test emails from reaching real users. Configure your SMTP to route all email to ammo.tools for inspection.
The problem
Staging and development environments often send emails to real addresses. A misconfigured test can spam customers with password resets, send duplicate invoices or leak confidential data to unintended recipients.
How ammo.tools solves it
Point your staging SMTP configuration at ammo.tools. Every email is captured and stored for inspection but never delivered to the addressed recipients. Developers and testers can see what the application sent without any messages reaching the outside world.
Setup
- Create a project in ammo.tools and note the inbox credentials from the SMTP settings page.
- Configure your staging environment to use these SMTP settings:
SMTP Host: smtp.ammo.tools Port: 587 (STARTTLS)
- Set the SMTP username and password from your inbox credentials.
- Send a test email from your application. It appears in the inbox within seconds.
Environment variables example
EMAIL_HOST=smtp.ammo.tools EMAIL_PORT=587 EMAIL_USE_TLS=true EMAIL_HOST_USER=your-inbox-username EMAIL_HOST_PASSWORD=your-smtp-password
Verify with curl and the API
curl -H "Authorization: Bearer $AMMO_TOOLS_API_KEY" \ "https://app.ammo.tools/api/v1/inboxes"
Returns your inboxes with SMTP credentials. After sending, list captured messages:
curl -H "Authorization: Bearer $AMMO_TOOLS_API_KEY" \ "https://app.ammo.tools/api/v1/inboxes/INB_ID/messages"
Things to know
- Captured emails are retained according to your plan. Check pricing for retention periods.
- Emails are never forwarded to their addressed recipients. This is intentional.
- Each inbox has a unique SMTP username. Use separate inboxes for different environments to keep captures organised.
- Captured content is stored in the EU. See the data processing agreement for details.