Для того, чтобы перехватывать почтовую рассылку с локального веб-сервера, понадобится установить пакет mailcatcher
.
MailCatcher — это простой SMTP-сервер, который отображает отправленные на него письма в веб-интерфейсе.
Я настраиваю веб-сервер для PHP
, на официальном сайте описана настройка и под другие платформы.
Установка
1 | gem install mailcatcher |
Для удобства можно добавить в /etc/hosts локальный домен, чтобы не набирать каждый раз адрес 127.0.0.1 в браузере.
1 | 127.0.0.1 mailcatcher.local |
Запуск
1 2 3 4 5 | $ mailcatcher # Starting MailCatcher # ==> smtp://127.0.0.1:1025 # ==> http://127.0.0.1:1080 # *** MailCatcher runs as a daemon by default. Go to the web interface to quit. |
Команда запускает демон сервера, который можно остановить через веб-интерфейс, не разбирая процессы грепом.
Веб-интерфейс находится по адресу mailcatcher.local:1080 (или 127.0.0.1:1080).
Настройка
В файле php.ini:
1 | sendmail_path = /usr/bin/env catchmail -f mailcatcher@localdomain |
После перезапуска веб-сервера все отправляемые письма будут выводиться в веб-интерфейсе MailCatcher.
Пример отправки письма на WordPress
1 2 3 4 5 6 7 8 9 | $headers = "From: noreply@mysite.local\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=UTF-8\r\n"; wp_mail( 'user@example.org', 'Test', 'Тестовое письмо', $headers ); |