• Stars
    star
    4,036
  • Rank 10,235 (Top 0.3 %)
  • Language
    Go
  • License
    MIT License
  • Created over 1 year ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An email and SMTP testing tool with API for developers

Mailpit - email testing for developers

CI Tests status CI build status CI Docker build status Code quality Go Report Card
Latest release Docker pulls

Website β€’ Documentation β€’ API


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 originally inspired by MailHog which is no longer maintained and hasn't seen active development or security updates for a few years now.

Mailpit

Features

  • Runs entirely from a single static binary or multi-architecture Docker images
  • Modern web UI with advanced mail search to view emails (formatted HTML, highlighted HTML source, text, headers, raw source, and MIME attachments including image thumbnails), including optional HTTPS & authentication
  • SMTP server with optional STARTTLS or SSL/TLS, authentication (including an "accept any" mode)
  • A REST API for integration testing
  • Real-time web UI updates using web sockets for new mail & optional browser notifications when new mail is received
  • Optional POP3 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
  • Fast message storing & 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)
  • List-Unsubscribe syntax validation
  • Optional webhook for received messages

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 package managers

  • 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

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 be 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 always run mailpit automatically.

Testing Mailpit

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

Configuring sendmail

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 is sendmail, 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 the sendmail documentation.

More Repositories

1

wireguard-vanity-keygen

WireGuard vanity key generator
Go
80
star
2

goiplookup

GoIPLookup uses the GeoLite2-Country database to find the Country of an IP address or hostname
Go
62
star
3

phpmybackup

A PHP MySQL differential backup script
PHP
56
star
4

silverstripe-version-truncator

Automatically delete old versioned records from Silverstripe
PHP
34
star
5

silverstripe-scaled-uploads

Automatically scale down, auto-rotate & compress uploaded images in Silverstripe
PHP
22
star
6

silverstripe-intelligent-404

Intelligent redirector extension for 404 pages in Silverstripe
PHP
18
star
7

silverstripe-cms-tweaks

Module to add a series of tweaks/modifications to the Silverstripe CMS
PHP
17
star
8

silverstripe-analytics-js

Extension to add Google Universal Analytics (gtag.js) tracking code to Silverstripe
PHP
15
star
9

silverstripe-tiled-gridfield

Inline/tiled images in a Silverstripe GridField table
CSS
14
star
10

imap-scrub

A ultility to trim down your IMAP mailbox by saving & removing attachments or deleting messages based on rules
Go
13
star
11

silverstripe-trailing-slash

Ensure that a single trailing slash is always added to Silverstripe URLs
PHP
12
star
12

fake-smtp

A fake PHP SMTP server
PHP
12
star
13

ssbak

SSPak asset and database backup tool for Silverstripe
Go
11
star
14

silverstripe-image-optimiser

Automatically optimise all uploaded & resampled images in Silverstripe
PHP
10
star
15

silverstripe-email-obfuscator

Email obfuscator for Silverstripe
PHP
9
star
16

cert-prune

A tool to delete expired Let's Encrypt certficates
Go
9
star
17

simplehtmldom

PHP Simple HTML DOM Parser fork
PHP
9
star
18

dnsmonitor

A simple DNS monitor written in Go with optional Gotify notifications
Go
8
star
19

bwlog

BWLog - Lightweight bandwidth logger for *nix
Go
7
star
20

silverstripe-form-fields

Custom forms & fields for Silverstripe
PHP
7
star
21

alpine-dropbox

A minimal Alpine (glibc) docker container that runs a headless Dropbox client
Shell
7
star
22

silverstripe-scss

A wrapper for scssphp to integrate SCSS compiling directly into Silverstripe
PHP
6
star
23

silverstripe-less

LESS CSS module for Silverstripe using lessphp
PHP
6
star
24

silverstripe-typography

Typography test page for Silverstripe
Scheme
6
star
25

web-validator

Validate website HTML & CSS, check links & resources
Go
5
star
26

silverstripe-gfmarkdown

GitHub Flavored Markdown editing & rendering using Parsedown for Silverstripe
PHP
5
star
27

adguard-home-bg

AdGuard Home blocklist generator
Go
5
star
28

silverstripe-minifier

CSS & JavaScript minifier, in PHP for Silverstripe
PHP
5
star
29

silverstripe-meta-editor

Meta editor for Silverstripe
PHP
4
star
30

upload2dav

Commandline utility to upload files to a webdav server such as Nextcloud
Go
4
star
31

silverstripe-bootstrap-forms

An extension to add CSS classes to Silverstripe forms to play nicer with Twitter Bootstrap
PHP
4
star
32

geoiplookup2

A drop-in replacement for geoiplookup and the free GeoLite2 Country database
PHP
4
star
33

silverstripe-enquiry-page

A module to add a simple enquiry form to Silverstripe
PHP
4
star
34

silverstripe-news

News page/article module for Silverstripe 3
PHP
4
star
35

silverstripe-gridfield-paginator-header

Adds pagination into the header of a gridfield (modeladmin) for SilverStripe 3
PHP
3
star
36

goptimize

Goptimize downscales and optimizes images
Go
3
star
37

myback

MyBack is a MySQL/MariaDB backup server and client
Go
3
star
38

silverstripe-simplemodeladmin

Simple ModelAdmin for Silverstripe 3
PHP
3
star
39

silverstripe-list-to-bootstrap-grid

Create a Bootstrap grid layout from a Silverstripe List
PHP
3
star
40

csscolorchart

A PHP Colour Chart Generator from CSS files find in specified directories
PHP
3
star
41

utproxy

A proxy for uptime monitors to check internal services (HTTP, TCP, MySQL & ping)
Go
3
star
42

wiregod

A helper utility for handling one or more WireGuard client configurations for Linux
Go
2
star
43

silverstripe-favicons

Simplistic templating system for adding favicons for multiple devices
Scheme
2
star
44

silverstripe-weblog

Silverstripe blog module
PHP
2
star
45

ghru

A semver Github Release Updater for Go software
Go
2
star
46

sndmail

A *nix sendmail emulator
Go
2
star
47

semver

Semver package for semantic version comparison & sorting in Go
Go
2
star
48

gitlab-pipe-cleaner

A command line tool that uses the Gitlab API to clean (prune) your servers CI pipelines and jobs, including build logs & artifacts
Go
2
star
49

silverstripe-sitemap

Add sitemap functionality to your Silverstripe website
PHP
1
star
50

silverstripe-seo-editor

SEO Editor for Silverstripe 3
PHP
1
star
51

jquery

jQuery library for Composer
JavaScript
1
star
52

silverstripe-weblog-wp-import

WordPress Importer for Silverstripe Weblog
PHP
1
star
53

gitlabci-composer-update-mr

A docker image for gitlabci-composer-update-mr
Go
1
star
54

silverstripe-simplemde-markdown

SimpleMDE editor & markdown support for Silverstripe 3
PHP
1
star
55

homebrew-apps

Homebrew tap formulaes
Ruby
1
star
56

silverstripe-ftsearch

Flexible full-text searching for Silverstripe
PHP
1
star
57

silverstripe-raygun-tags

Add Silverstripe tags to Raygun logging
PHP
1
star
58

silverstripe-weblog-categories

Categories for the Silverstripe Weblog module
PHP
1
star
59

gimp-save-for-web

Historical copy of the Save for Web plug-in for GIMP
C
1
star