MailHog — инструмент для тестирования email, включающий в себя фейковый SMTP. Все отправленные письма будут перехвачены MailHog и доступны в веб-интерфейсе.
Устанавливаем Go и MailHog
1 2 3 |
sudo apt-get -y install golang-go go get github.com/mailhog/MailHog go get github.com/mailhog/mhsendmail |
Копируем в директорию bin, чтобы можно было запустить отовсюду.
{user} — ваше имя пользователя
1 2 |
sudo cp /home/{user}/gocode/bin/MailHog /usr/local/bin/mailhog sudo cp /home/{user}/gocode/bin/mhsendmail /usr/local/bin/mhsendmail |
Делаем MailHog сервисом
{user} — ваше имя пользователя
1 2 3 4 5 6 7 8 9 10 11 12 13 |
sudo tee /etc/systemd/system/mailhog.service <<EOL [Unit] Description=Mailhog After=network.target [Service] User={user} ExecStart=/usr/bin/env /usr/local/bin/mailhog > /dev/null 2>&1 & [Install] WantedBy=multi-user.target EOL systemctl daemon-reload systemctl enable mailhog |
Открываем порт 8025 в iptables
Чтобы мы могли попасть на веб-интерфейс MailHog
1 |
sudo iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8025 -j ACCEPT |
Веб-интерфейс MailHog теперь будет доступен по адресу http://ip-сервера:8025
Настройки SMTP для MailHog
В вашем прриложении остаётся настроить SMTP, указав в качестве хоста localhost и порт 1025
Настраиваем PHP для работы с MailHog
В php.ini меняем sendmail_path на следующий
1 |
sendmail_path = /usr/local/bin/mhsendmail |
Если в качестве веб-сервера используется Apache, то для каждого сайта в отдельности можно изменить sendmail_path в .htaccess, добавив строчку
1 |
php_value sendmail_path "/usr/local/bin/mhsendmail" |
Один ответ к “Установка MailHog на Ubuntu”
jsczuv