Przechwytywanie poczty z MailCatcher w PHP

Łukasz Piotrowski Komentarzy 0

    MailCatcher to mały serwer SMTP który po skonfigurowaniu naszych skryptów bądź PHP będzie przechwytywał wszystkie wysyłane mejle.

    Dzięki wbudowanemu interfejsowi Web będziemy mogli przeglądać je bezpośrednio w przeglądarce.


    Instalacja

    Instalacja jest banalna. Potrzebujemy do tego zainstalowany Ruby.

    W konsoli wydajemy polecenie

    gem install mailcatcher

    Uruchamianie

    Aby uruchomić wystarczy wpisać:

    mailcatcher

    Interfejs Web mamy dostępny pod adresem: http://localhost:1080

    Konfiguracja PHP

    Tutaj sprawa równie prosta. W php.ini odszukujemy i zamieniamy na:

    sendmail_path = /usr/bin/env catchmail -f some@from.address

    lub w pliku .htaccess

    php_admin_value sendmail_path "/usr/bin/env catchmail -f some@from.address"

    Konfiguracja w Vagrant

    Jeśli używamy Vagrant do naszej pracy to musimy wykonać kilka dodatkowych kroków aby móc cieszyć się interfejsem na Host.

    1. Przekierowujemy port 1080 na naszą maszynę (u mnie wystarczyło dodać w Vagrant)

      config.vm.network "forwarded_port", guest: 1080, host: 10800
    2. Uruchamiając mailcatcher dodajemy parametr --ip

      mailcatcher --ip=0.0.0.0

      Dzięki temu serwer nasłuchuje nie tylko lokalnie.

    Podsumowanie

    MailCatcher to świetne narzędzie które bardzo ułatwia nam testowanie naszego systemu wysyłki email.

    Jeśli mamy możliwość to możemy skorzystać np. z zew. serwisu np. MailTrap.io

    Oficjalna strona projektu: MailCatcher

    Top