MailCatcher

Материал из Webko Wiki
Перейти к навигации Перейти к поиску


Основные сведенья

Программа предназначеня для перехвата и просмотра електорнных писем отправленых с локального сервера, может помочь в настройке и дебаге приложений которые умеют слать отчеты об ошибках по електронной почте.

Написан на ruby в качестве хранилища использует sqlite.(Ставить будем на Centos 7)

Установка

yum update -y
yum install gcc gcc-c++ -y
yum install sqlite-devel ruby-devel -y
gem install mailcatcher

Запуск и конфигурирование

Доступные опции можно посмотреть так

mailcatcher --help

Для запуска из консоли выполняем

mailcatcher --smtp-ip 127.0.0.1 --http-ip IP [Ваш-ip]

В таком режиме мы запустим MailCatcher для "ловли" писем на локалхосте и вебинтерфейс на внешнем адрессе.

Systemd service

Для автоматического запуска и простоты использования можно написать сервис для systemd

$EDITOR /etc/systemd/system/mailcatcher.service
[Unit]
Description=Ruby MailCatcher
Documentation=http://mailcatcher.me/
 
[Service]
Type=simple
ExecStart=/usr/local/bin/mailcatcher --foreground --smtp-ip 127.0.0.1 --http-ip IP [Ваш-ip]
Restart=always
 
[Install]
WantedBy=multi-user.target

Обновляем список сервисов для systemd, запускаем и добавляем в автозагрузку MailCatcher

systemctl daemon-reload
systemctl start mailcatcher
systemctl enable mailcatcher

Настройка php для работы с MailCatcher

Добавим конфигурацию в отдельный файл в деректории /etc/php.d

# Add config for PHP 
echo "sendmail_path = /usr/bin/env $(which catchmail) -f mailsender@$(hostname)" | tee /etc/php.d/mailcatcher.ini
 
# Restart Apache end PHP-FPM
systemctl restart httpd php-fpm

Проверка работоспособности

php -r 'mail("[email protected]", "REPORT", "PHP message: PHP Warning:  Illegal string offset sectionId");'

В веб интерфейсе MailCatcher должно появится письмо с определенными выше параметрами (получателем, темой и телом).