MailCatcher
Основные сведенья
Программа предназначеня для перехвата и просмотра електорнных писем отправленых с локального сервера, может помочь в настройке и дебаге приложений которые умеют слать отчеты об ошибках по електронной почте.
Написан на 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 должно появится письмо с определенными выше параметрами (получателем, темой и телом).