1
0
mirror of https://github.com/axllent/mailpit.git synced 2024-12-26 22:56:43 +02:00
An email and SMTP testing tool with API for developers
Go to file
2023-10-16 21:15:56 +13:00
.chglog Update git-chglog format 2023-03-10 14:52:35 +13:00
.github Replace unprintable characters with space in html2text 2023-10-15 22:02:57 +13:00
cmd Feature: Add reindex subcommand to reindex all messages 2023-10-05 17:04:05 +13:00
config Feature: Set auth credentials directly from environment variables 2023-09-29 16:40:23 +13:00
docs Remove redundant Read status from message (always true) 2023-09-22 21:31:35 +12:00
internal Merge branch 'feature/swagger' into develop 2023-10-16 21:13:17 +13:00
sendmail Chore: Update internal import paths 2023-09-25 19:29:30 +13:00
server Merge branch 'feature/swagger' into develop 2023-10-16 21:13:17 +13:00
.dockerignore Feature:: Add multi-arch docker image 2022-08-04 22:51:20 +12:00
.gitignore Theme toggler (#136) 2023-06-30 17:13:12 +12:00
CHANGELOG.md Release v1.9.7 2023-10-13 23:22:05 +13:00
Dockerfile Docker: Expose default ports (1025/tcp 8025/tcp) 2023-03-09 15:49:47 +13:00
esbuild.config.mjs Build: Define Vue build options in esbuild 2023-06-30 22:16:43 +12:00
go.mod Libs: Update Go modules 2023-10-16 21:15:56 +13:00
go.sum Libs: Update Go modules 2023-10-16 21:15:56 +13:00
install.sh Fix typo 2023-01-14 00:31:03 +13:00
LICENSE First commit 2022-07-29 23:23:08 +12:00
main.go Fix: Normalize running binary name detection (Windows) 2022-09-21 15:56:20 +12:00
package-lock.json Libs: Update node modules 2023-10-13 23:20:25 +13:00
package.json Libs: Update node modules 2023-09-22 15:01:33 +12:00
README.md Add docs for brew services 2023-10-13 22:42:37 +13:00

Mailpit - email testing for developers

Tests Build status Docker builds CodeQL Go Report Card

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 contains an API for automated integration testing.

Mailpit was originally inspired by MailHog which is now no longer maintained and hasn't seen active development for a few years now.

Mailpit

Features

  • Runs entirely from a single binary, no installation required
  • SMTP server (default 0.0.0.0:1025)
  • Web UI to view emails (formatted HTML, highlighted HTML source, text, headers, raw source and MIME attachments including image thumbnails)
  • HTML check to test & score mail client compatibility with HTML emails
  • Link check to test message links (HTML & text) & linked images
  • Screenshots of HTML messages via web UI (see wiki)
  • Mobile and tablet HTML preview toggle in desktop mode
  • Light & dark web UI theme with auto-detect
  • Advanced mail search (see wiki)
  • Message tagging (see wiki)
  • Real-time web UI updates using web sockets for new mail
  • Optional browser notifications for new mail (when accessed via either HTTPS or localhost only)
  • Configurable automatic email pruning (default keeps the most recent 500 emails)
  • Email storage either in a temporary or persistent database (see wiki)
  • Fast SMTP processing & storing - approximately 70-100 emails per second depending on CPU, network speed & email size, easily handling tens of thousands of emails
  • SMTP relaying / message release - relay messages via a different SMTP server including an optional allowlist of accepted recipients (see wiki)
  • Optional SMTP with STARTTLS & SMTP authentication, including an "accept anything" mode (see wiki)
  • Optional HTTPS for web UI (see wiki)
  • Optional basic authentication for web UI (see wiki)
  • A simple REST API (see docs)
  • Multi-architecture Docker images

Installation

The Mailpit web UI listens by default on http://0.0.0.0:8025, and the SMTP port on 0.0.0.0:1025.

Mailpit runs as a single binary and can be installed in different ways:

Install via Brew (Mac)

Install Mailpit with brew install mailpit.

To run automatically run mailpit in the background, run brew services start mailpit.

Install via bash script (Linux & Mac)

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)

Download static binary (Windows, Linux and Mac)

Static binaries can always be found on the releases. The mailpit binary can extracted and copied to your $PATH, or simply run as ./mailpit.

Docker

See Docker instructions for 386, amd64 & arm64 images.

Compile from source

To build Mailpit from source see building from source.

Usage

Run mailpit -h to see options. More information can be seen in the docs.

If installed using homebrew, you may run brew services start mailpit to run always run mailpit automatically.

Testing Mailpit

Please refer to the documentation of how to easily test email delivery to Mailpit.

Configuring sendmail

Mailpit's SMTP server (by 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 a SMTP server is sendmail, used by many applications including PHP. Mailpit can also act as substitute for sendmail. For instructions of how to set this up, please refer to the sendmail documentation.