MailDev
Node-based local SMTP catcher.
MailDev is a Node-based local SMTP catcher with a web UI. Install it with npm or Docker, point SMTP at port 1025, and read captured mail on port 1080. It can fire a webhook when mail arrives and optionally relay caught messages to a real SMTP host, which is useful in CI.
An agent stack treats email as a two-way primitive. Inbound has to arrive as structured JSON a tool call can consume, sends have to be safe to retry when a model loop repeats itself, and every action needs an audit trail. A provider without inbound parsing only solves half the problem.
Against inbound parsing into tool calls and model-generated sends that must not duplicate, MailDev covers webhook coverage, and does not cover inbound parsing, idempotency keys, event stream, batch sending, SDK breadth, and multi-tenant support. Whether that gap matters depends on how central those are to the build.
- Inbound parsing: No
- Idempotency keys: No
- Webhooks: Yes
- Operating since: Not published
- Event stream: No
- Best published rate per 1,000: Tiers not published in comparable form
- Batch sending: No
- SDKs: None
- Multi-tenant: No
Not applicable.
Node-centric local development and CI.
New projects that could start on Mailpit for closer HTML rendering.
- › Installs with a single npm install or docker run
- › SMTP on 1025 with a web UI and REST API on 1080
- › Optional webhook on new mail for CI assertions
- › Relay mode can forward caught mail to a real SMTP host
- › Vue UI renders modern HTML email less faithfully than Mailpit
- › Release cadence is slower than Mailpit
Features at a glance
| API | Yes |
| SMTP | Yes |
| SDKs | None |
| Webhooks | Yes |
| Templates | none |
| React Email | No |
| Batch send | No |
| Scheduled send | No |
| Suppressions | No |
| Multi-tenant | No |
| Inbound parsing | No |
| Event stream | No |
| Idempotency keys | No |
| Dedicated IP | No |