Capture, inspect, and test emails in development without sending to real addresses. Unlimited inboxes. Real-time webhooks. Privacy-first—your emails never leave your server.
# .env (Laravel)
MAIL_MAILER=smtp
MAIL_HOST=127.0.0.1
MAIL_PORT=2525
MAIL_USERNAME=${'${INBOX_API_KEY}'}
MAIL_PASSWORD=secret
MAIL_ENCRYPTION=null
// Webhook example (HMAC signed)
POST /webhooks/email.received
X-MailNest-Signature: t=1731000000,v1=abcdef
{
"inbox": "production-signups",
"subject": "Welcome to MailNest",
"attachments": [
{"name": "terms.pdf", "url": "https://signed-url"}
]
}
Loved by Laravel teams, QA engineers, and indie hackers
Purpose-built for modern PHP stacks with rock-solid security and a UX your team actually enjoys.
Organize by project, environment, or client. Each inbox has isolated storage and API keys.
Real-time delivery with HMAC signatures and automatic retry with exponential backoff.
Secure signed URLs with time-limited access and content-type validation.
Per-project API keys with scopes and rate limiting, manageable from the Filament admin.
Self-host or run on your own VPC. Data never leaves your server—perfect for regulated teams.
FilamentPHP-powered CRUD for inboxes, messages, users, tokens, webhooks, and retention.
Point your app to MailNest's SMTP listener or REST API and ship email features with confidence.
# Send a test email via REST
POST /api/v1/inboxes/{inbox}/messages
Authorization: Bearer <API_KEY>
{
"to": "dev@local.test",
"subject": "Hello, world",
"html": "<h1>Welcome</h1>"
}
// Assert email in your tests (Pest)
// Example assertion snippet
Mail::fake();
// ... trigger ...
Mail::assertSent(WelcomeMail::class);
Simple SMTP + clean REST APIs. Works with Laravel, Symfony, NestJS, Rails, Django, and more.
Mail, Notifications, Mailable previews, Pest/PHPUnit.
Nodemailer SMTP or fetch() to REST.
Action Mailer via SMTP in development.
EmailBackend to localhost:2525.
| Capability | MailNest | MailHog/Mailpit |
|---|---|---|
| Multi-tenant with RBAC | ✅ | ➖ |
| Signed webhooks + retry/DLQ | ✅ | ➖ |
| Filament admin + Livewire dashboard | ✅ | ➖ |
| API keys with scopes & rotation | ✅ | ➖ |
| Attachment signed URLs + AV hooks | ✅ | ➖ |
Fast setup, confident releases.
"MailNest slotted into our CI in an hour. Webhooks + signed URLs saved us days."
"Love the Filament admin and the per-inbox retention. It's purpose-built."
"From MailHog to MailNest and never looked back."
Start free. Scale when you need more retention or team seats.
Unlimited inboxes • Community support
For teams shipping weekly
For regulated & large teams
Yes. Spin up a Docker service, seed an inbox via API, run your tests, and assert delivered messages.
No. MailNest is privacy-first. Attachments are served using short‑lived signed URLs from your storage.
Yes. Use localhost:2525 for SMTP or the /api/v1 send endpoint. Both paths end up in the same inboxes.
Each API key has per‑minute and per‑hour limits. Admins can view metrics and throttle or revoke keys.
Spin up MailNest today. Your future QA self will thank you.