- Notifications
You must be signed in to change notification settings - Fork167
An email and SMTP testing tool with API for developers
License
axllent/mailpit
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Mailpit is a small, fast, low memory, zero-dependency, multi-platform email testing tool & API for developers.
It acts as an SMTP server, provides a modern web interface to view & test captured emails, and includes an API for automated integration testing.
Mailpit was originallyinspired by MailHog which isno longer maintained and hasn't seen active development or security updates for a few years now.
- Runs entirely from a singlestatic binary or multi-architectureDocker images
- Modern web UI with advancedmail search to view emails (formatted HTML, highlighted HTML source, text, headers, raw source, and MIME attachmentsincluding image thumbnails), including optionalHTTPS &authentication
- SMTP server with optional STARTTLS or SSL/TLS, authentication (including an "accept any" mode)
- AREST API for integration testing
- Real-time web UI updates using web sockets for new mail & optionalbrowser notifications when new mail is received
- OptionalPOP3 server to download captured message directly into your email client
- HTML check to test & score mail client compatibility with HTML emails
- Link check to test message links (HTML & text) & linked images
- Spam check to test message "spamminess" using a running SpamAssassin server
- Create screenshots of HTML messages via web UI
- Mobile and tablet HTML preview toggle in desktop mode
- Message tagging including manual tagging or automated tagging using filtering and "plus addressing"
- SMTP relaying (message release) - relay messages via a different SMTP server including an optional allowlist of accepted recipients
- SMTP forwarding - automatically forward messages via a different SMTP server to predefined email addresses
- Fast messagestoring & processing - ingesting 100-200 emails per second over SMTP depending on CPU, network speed & email size,easily handling tens of thousands of emails, with automatic email pruning (by default keeping the most recent 500 emails)
- Chaos feature to enable configurable SMTP errors to test application resilience
List-Unsubscribe
syntax validation- Optionalwebhook for received messages
The Mailpit web UI listens by default onhttp://0.0.0.0:8025
and the SMTP port on0.0.0.0:1025
.
Mailpit runs as a single binary and can be installed in different ways:
- Mac:
brew install mailpit
(to run automatically in the background:brew services start mailpit
) - Arch Linux: available in the AUR as
mailpit
- FreeBSD:
pkg install mailpit
Linux & Mac users can install it directly to/usr/local/bin/mailpit
with:
sudo bash<<(curl -sL https://raw.githubusercontent.com/axllent/mailpit/develop/install.sh)
Static binaries can always be found on thereleases. Themailpit
binary can be extracted and copied to your$PATH
, or simply run as./mailpit
.
SeeDocker instructions for 386, amd64 & arm64 images.
To build Mailpit from source, seeBuilding from source.
Runmailpit -h
to see options. More information can be seen inthe docs.
If installed using homebrew, you may runbrew services start mailpit
to always run mailpit automatically.
Please refer tothe documentation on how to easily test email delivery to Mailpit.
Mailpit's SMTP server (default on port 1025), so you will likely need to configure your sending application to deliver mail via that port.A common MTA (Mail Transfer Agent) that delivers system emails to an SMTP server issendmail
, used by many applications, including PHP.Mailpit can also act as substitute for sendmail. For instructions on how to set this up, please refer to thesendmail documentation.
About
An email and SMTP testing tool with API for developers