Puphpet: MailHog не перехватывает электронные письма, отправленные PHP

Созданный на 9 дек. 2015  ·  3Комментарии  ·  Источник: puphpet/puphpet

$ php -r "mail('[email protected]', 'test', 'test');"
2015/12/09 16:44:17 Using in-memory storage
2015/12/09 16:44:17 [SMTP] Binding to address: 0.0.0.0:1025
2015/12/09 16:44:17 [SMTP] Error listening on socket: listen tcp 0.0.0.0:1025: bind: address already in use

Исправлено это путем установки ssmtp и обновления /etc/php5/cli/conf.d/zzzz_custom.ini до:
;sendmail_path='/usr/local/bin/mailhog'
sendmail_path='/usr/sbin/ssmtp -t'

/etc/ssmtp/ssmtp.conf:
...
mailhub=localhost:1025
...

Возможно, есть лучшие способы, но этот сработал для меня.

Мой конфиг.yml:
http://pastebin.com/jGqghAqF

Самый полезный комментарий

;sendmail_path='/usr/local/bin/mailhog'

Вы на самом деле хотите, чтобы это было

sendmail_path='/usr/local/bin/mailhog sendmail [email protected]'

См.: https://github.com/puphpet/puphpet/blob/master/archive/puphpet/puppet/manifests/Php.pp#L204.

Все 3 Комментарий

;sendmail_path='/usr/local/bin/mailhog'

Вы на самом деле хотите, чтобы это было

sendmail_path='/usr/local/bin/mailhog sendmail [email protected]'

См.: https://github.com/puphpet/puphpet/blob/master/archive/puphpet/puppet/manifests/Php.pp#L204.

К вашему сведению для тех, кто ищет, почему MailHog может не перехватывать электронные письма Php SMTP.

проверьте свои порты! если вы используете Mail::factory или другой класс для электронной почты SMTP, то он может по умолчанию использовать порт 25. Конфигурация MailHog по умолчанию использует порт 1025.

@Artistan спасибо.

в основном:

  1. стандартная установка марионетки (середина 2017 г.)
  2. бродячий ssh; sudo apt-get установить постфикс; подтвердите все значения по умолчанию (используйте вкладку/стрелки, введите для навигации)
  3. установите smtp-порт вашего приложения на 1025 для локального тестирования
  4. отправить письмо через какую-либо форму или другим способом, который будет проходить через smtp/sendmail 1025
  5. ваш локальный домен. Разработчик: 1025

Я привык к CakePHP3 (где все немного проще расшифровать), и таким образом я мог тестировать контактные формы Zend Framework для отправки почты.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги