mailpit README

The project's README from github.com/axllent/mailpit. As one markdown file: README.md.

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

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

Install via script (Linux & Mac)

Linux & Mac users can install it directly to /usr/local/bin/mailpit with:

sudo sh < <(curl -sL https://raw.githubusercontent.com/axllent/mailpit/develop/install.sh)

You can also change the install path to something else by setting the INSTALL_PATH environment, for example:

sudo INSTALL_PATH=/usr/bin sh < <(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.


For team features, multiple inboxes, and a hosted setup, try Mailtrap, our friendly companion.

mailpit (axllent/mailpit)

Searching Database…

10.7K ·GitHub
Что это такое?Mailpit — это небольшой, быстрый и нетребовательный к памяти инструмент для тестирования почты с API, созданный для разработчиков. Он работает как локальный SMTP-сервер, который перехватывает все письма, отправляемые вашим приложением, показывает их в веб-интерфейсе и предоставляет REST API для автоматического интеграционного тестирования.
Так это онлайн-сервис, где нужно регистрироваться, или я запускаю его сам?Вы запускаете его сами: он распространяется в виде одного статического бинарника или Docker-образа для разных архитектур, который поднимает SMTP-сервер, веб-интерфейс и REST API там, где вы его запустите. Никакие аккаунты или внешние сервисы не нужны.
Как его запустить?На macOS выполните brew install mailpit (brew services start mailpit, чтобы он работал в фоне); на Linux/Mac однострочный скрипт установки положит его в /usr/local/bin. Статические бинарники для Windows/Linux/Mac лежат на странице релизов, есть и Docker-образы (386/amd64/arm64).
Насколько сильно нужно менять приложение, чтобы письма шли через него?Достаточно указать в SMTP-настройках вашего приложения Mailpit, который по умолчанию слушает 0.0.0.0:1025. Если приложение отправляет почту через sendmail, Mailpit может работать вместо него как замена sendmail. Сам бинарник не имеет никаких зависимостей.
Сколько писем он хранит, прежде чем сообщения начнут пропадать?Он принимает 200–300 писем в секунду и легко справляется с десятками тысяч, но хранилище очищается автоматически — по умолчанию остаются только 500 самых свежих писем. Настройки очистки можно менять по объёму или возрасту сообщений.
Что я могу сделать с перехваченным письмом в веб-интерфейсе?Посмотреть его в виде отформатированного HTML, подсвеченного исходника HTML, простого текста, заголовков или исходного кода, с MIME-вложениями и миниатюрами картинок. Есть продвинутый поиск по письмам, ручное или автоматическое присвоение тегов, скриншоты HTML и переключатель предпросмотра для мобильных и планшетов, а также проверка HTML, оценивающая совместимость с почтовыми клиентами, проверка ссылок и проверка на спам через запущенный сервер SpamAssassin.
Можно ли использовать его в автоматических интеграционных тестах?Да — в Mailpit есть REST API, созданный как раз для автоматического интеграционного тестирования, а новые письма появляются в реальном времени через веб-сокеты. Можно также настроить необязательный webhook, который срабатывает при получении сообщения, и включить функцию chaos, подсовывающую настраиваемые ошибки SMTP, чтобы проверить, как ваше приложение справляется со сбоями.
Можно ли передать перехваченные письма в настоящий почтовый ящик или на другой сервер?Да. SMTP-релей позволяет выпустить сообщения через другой SMTP-сервер, при необходимости с белым списком разрешённых получателей; SMTP-пересылка автоматически отправляет копии на заранее заданные адреса. Либо включите необязательный POP3-сервер и скачивайте перехваченную почту прямо в свой почтовый клиент.
Почему лучше использовать его, а не MailHog?Mailpit изначально был вдохновлён MailHog, который, как отмечается в README, больше не поддерживается: активная разработка и обновления безопасности прекратились несколько лет назад. Mailpit — это активно развиваемая альтернатива: один бинарник без зависимостей, принимающий 200–300 писем в секунду.
What are similar projects?sentio, go-swagger, MailHog, swag, gopeed, kubo, hurl, wuzz
Creator
axllent
Size
3.5 MB
Stars
10.7K
Age
4y
Commits · 90 Days