MailHog README

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

MailHog Download GoDoc Build Status

Inspired by MailCatcher, easier to install.

Built with Go - MailHog runs without installation on multiple platforms.

Overview

MailHog is an email testing tool for developers:

Installation

Manual installation

Download the latest release for your platform. Then read the deployment guide for deployment options.

MacOS

brew update && brew install mailhog

Then, start MailHog by running mailhog in the command line.

Debian / Ubuntu Go < v1.18

sudo apt-get -y install golang-go
go get github.com/mailhog/MailHog

Go >= v1.17 (Debian Bookworm)

sudo apt-get -y install golang-go
go install github.com/mailhog/MailHog@latest

Then, start MailHog by running /path/to/MailHog in the command line.

E.g. the path to Go's bin files on Ubuntu is ~/go/bin/, so to start the MailHog run:

~/go/bin/MailHog

FreeBSD

pkg install mailhog
sysrc mailhog_enable="YES"
service mailhog start

Docker

Run it from Docker Hub or using the provided Dockerfile

Configuration

Check out how to configure MailHog, or use the default settings:

Features

See MailHog libraries for a list of MailHog client libraries.

sendmail

mhsendmail is a sendmail replacement for MailHog.

It redirects mail to MailHog using SMTP.

You can also use MailHog sendmail ... instead of the separate mhsendmail binary.

Alternatively, you can use your native sendmail command by providing -S, for example:

/usr/sbin/sendmail -S mail:1025

For example, in PHP you could add either of these lines to php.ini:

sendmail_path = /usr/local/bin/mhsendmail
sendmail_path = /usr/sbin/sendmail -S mail:1025

Web UI

Screenshot of MailHog web interface

Contributing

MailHog is a rewritten version of MailHog, which was born out of M3MTA.

Clone this repository to $GOPATH/src/github.com/mailhog/MailHog and type make deps.

See the Building MailHog guide.

Requires Go 1.4+ to build.

Run tests using make test or goconvey.

If you make any changes, run go fmt ./... before submitting a pull request.

Licence

Copyright ©‎ 2014 - 2017, Ian Kent (http://iankent.uk)

Released under MIT license, see LICENSE for details.

MailHog (mailhog/MailHog)

Searching Database…

16.2K ·GitHub
Что это такое?MailHog — это инструмент для тестирования почты, созданный для разработчиков. Вы направляете исходящий SMTP вашего приложения на него, а затем просматриваете перехваченные письма в веб-интерфейсе или забираете их через JSON API — вместо реальной отправки.
Это библиотека, которую я подключаю к своему коду, или отдельный сервис?Это отдельный сервис: один бинарник на Go, который работает как фальшивый SMTP-сервер со встроенным веб-интерфейсом и HTTP API. Ваше приложение ничего не встраивает — оно просто отправляет письма на MailHog, как на любой другой SMTP-сервер.
Как его запустить?Скачайте последний релиз для своей платформы и запустите бинарник, либо запустите Docker-образ из Docker Hub. С настройками по умолчанию SMTP-сервер слушает порт 1025, а веб-интерфейс — порт 8025.
Нужно ли сначала установить что-то вроде Go?Нет — он написан на Go и работает без установки на нескольких платформах. Инструменты Go (версии 1.4+) понадобятся, только если вы будете собирать его из исходников сами.
Тестовые письма сохраняются после перезапуска?По умолчанию сообщения хранятся в памяти, поэтому при остановке MailHog они пропадают. Для постоянного хранения можно переключиться на MongoDB или хранение в файлах.
Могут ли мои тестовые письма дойти до реальных получателей?Нет — перехваченные письма остаются внутри MailHog, пока вы явно не отправите их на настоящий SMTP-сервер для доставки.
Это бесплатно?Да — MailHog распространяется по лицензии MIT, поэтому его можно свободно использовать, изменять и распространять.
Как направить моё приложение на MailHog?Укажите в качестве исходящего SMTP-сервера вашего приложения порт 1025 MailHog. Есть ещё mhsendmail — замена sendmail, которая перенаправляет почту на MailHog по SMTP: например, PHP-приложение может указать на него sendmail_path в php.ini.
Что происходит с письмом, когда MailHog его перехватывает?Оно появляется в веб-интерфейсе в реальном времени (обновления через EventSource), где его можно прочитать как обычный текст, HTML или исходный код и скачать отдельные MIME-части. Также можно получать список писем, читать и удалять их через HTTP API (v1 и v2), при желании защищённое basic auth.
Умеет ли MailHog имитировать сбои при доставке?Да — в него встроен Jim, функция вроде Chaos Monkey для тестирования сбоев, так что можно проверить, как ваше приложение ведёт себя, когда доставка по SMTP работает неправильно.
Чем MailHog отличается от MailCatcher?Он создан под вдохновением от MailCatcher, но ставится проще: написанный на Go, он поставляется в виде легковесного бинарника, который работает без установки на нескольких платформах, и есть Docker-образ.
Creator
mailhog
Size
2.9 MB
Stars
16.2K
Age
12y
Commits · 90 Days