MIT at the core.
The engine that catches, parses and serves your test email is open source. The hosted Cloud is that same engine with teams and billing on top — not a different product behind a curtain.
The three layers
Sendtrap is one engine shipped three ways. Each layer builds on the one below it, and the split is by tenancy, not by feature quality — the capture, parsing, checks and API are identical everywhere.
sendtrap/core
MIT Composer packageThe engine, as a Laravel package: the SMTP catching server (EHLO/AUTH/STARTTLS), the MIME parsing pipeline, message and inbox models, the token-authenticated REST API with its Mailtrap-compatible aliases, deliverability lint checks, the offline HTML Check dataset, share links, webhooks and auto-forwarding. Anything that inspects mail lives here — with its own test suite.
Sendtrap Community
MIT Self-hosted appA complete application wrapping the core package for a single team on your own hardware: one workspace, owner/member/viewer roles, an idempotent installer, per-instance limits, and offline-first defaults (SQLite, local storage, a checked-in caniemail snapshot). No account, no phoning home. See Self-hosting for the install guide.
Sendtrap Cloud
HostedThe same core, run for you at sendtrap.dev — plus the multi-tenant layer that doesn't make sense to self-host: teams and invitations, plans and billing, account-level controls, and support. Cloud is how the open-source work is funded. See pricing.
What lives where
| Capability | Core | Community | Cloud |
|---|---|---|---|
| SMTP capture, MIME parsing, message browser | ✓ | ✓ | ✓ |
| REST API incl. wait/assert + Mailtrap aliases | ✓ | ✓ | ✓ |
| Lint checks + HTML Check (caniemail, offline) | ✓ | ✓ (API ungated) | ✓ (API on Starter+) |
| Share links, webhooks, auto-forwarding | ✓ | ✓ | ✓ |
| Installer, roles, instance limits | — | ✓ | — |
| Teams, invitations, multi-workspace | — | — | ✓ |
| Plans, billing, hosted operations, support | — | — | ✓ |
Community consumes sendtrap/core as a versioned Composer dependency (^0.1) — the same code Cloud runs, not a fork or a feature-stripped copy. On a 0.x line, breaking changes may land in minor releases, always with release notes.
Licence & trademark
Both sendtrap/core and Sendtrap Community are licensed under the MIT licence — use, modify, and redistribute them, commercially or not, with attribution. No open-core asterisks: nothing in the self-hosted edition is licence-gated or time-limited.
The "Sendtrap" name and logo are trademarks reserved by the project — the code licence does not grant trademark rights. Run it, fork it, ship products on it; just don't present a fork as the official Sendtrap.
Contributing
Contributions are covered by the Developer Certificate of Origin (DCO) — not a CLA. You keep your copyright; every commit just needs a Signed-off-by: trailer matching its author, certifying you have the right to submit the work under the project's licence:
git commit -s
Each repository carries a CONTRIBUTING.md with the test commands a change must keep green (the PHP suite, code style, and the front-end build) and how pull requests land pre-1.0. Bug reports with a minimal reproduction are as valuable as patches.
Security & support
Security vulnerabilities are handled by private disclosure — never open a public issue for one; each repository's SECURITY.md explains the process. Fixes that originate in the core package ship as a new core tag plus a Community release that pins it.
Support for the open-source editions is best-effort, through public issues and discussions — the self-hosting guide covers the common setup questions. A supported product with an actual support channel is what Cloud plans are for.
Two ways to run it
Self-host the Community edition on your own metal, or let Cloud handle the operations.
No credit card required