Поиск по этому блогу

суббота, 7 марта 2015 г.

Локальный перехватчик писем для разработки.

Очень часто нам нужно отправить письмо во время разработки приложения. Конечно можно настроить SMTP сервер с аутентификацией, например слать через yandex. Но я программирую в дороге. Пока допустим еду на работу. И инета на ноуте может и не быть. Тогда на помощь на приходят перехватчики писем. И про один такой я сейчас расскажу. Называется он mailcatcher.
Устанавливается и запускается он в 2 строки.

Для начала посмотрим не завалялось ли у нас руби.
$ ruby -v
ruby 2.1.2p95 (2014-05-08) [i386-linux-gnu]
У меня оно уже установлено. Если у Вас его нет, то нужно сначала его установить.
Далее пробую установить
$ sudo gem install mailcatcher
В ответ увидел сообщение о ошибке
ERROR:  Error installing mailcatcher:
ERROR: Failed to build gem native extension.

Ключевое здесь
apt-get install libsqlite3-dev
Так и поступим
sudo apt-get install libsqlite3-dev
 И после этого снова запускаем
$ sudo gem install mailcatcher
В этот раз видим
Done installing documentation for daemons, mailcatcher, skinny, sqlite3, thin after 3 seconds
5 gems installed

Отлично. Пробуем запустить
$ sudo mailcatcher --http-ip 0.0.0.0
Видим ответ
Starting MailCatcher
==> smtp://127.0.0.1:1025
==> http://0.0.0.0:1080
*** MailCatcher runs as a daemon by default. Go to the web interface to quit.
Идем в браузер и запускаем локалхост, но с портом 1080
Теперь осталось только изменить настройки нашего приложения. Я же изменю для всего своего компьютера.

Поэтому находим в php.ini строку
sendmail_path = /usr/sbin/sendmail -t -i
И меняем на
sendmail_path = "/usr/bin/env /usr/local/bin/catchmail -f error@yezzo.ru"


Все.

Комментариев нет:

Отправить комментарий

Количество·просмотров