sendmail – wysyłanie e-maili pod Windows z PHP

Szukałem sposobu na testowanie oraz monitorowanie owej wysyłki podczas pracy pod Windowsem bez konieczności ciągłego kopiowania plików na serwer testowy po każdej wprowadzonej zmianie lub instalacji dodatkowego oprogramowania w postaci serwera SMTP. Mogę oczywiście wysyłać e-maile przy pomocy biblioteki PHPMailer skonfigurowanej tak, aby wysyłka odbywała się przez dowolną skrzynkę SMTP, ale trudno jest monitorować taki proces. Chciałbym dokładnie wiedzieć jakie dane zostały wysłane na serwer oraz dlaczego niektóre wiadomości nie były poprawnie wysyłane.

Rozwiązaniem problemu okazał się sendmail. Program jest dostarczy np. razem z XAMMP-em, ale możemy go również pobrać i zainstalować osobno.

Konfiguracja jest bardzo prosta, wystarczy podać adres serwera SMTP, login oraz hasło do skrzynki pocztowej. Dodatkowo możemy nakazać logowanie komunikatów o błędach oraz wszystkich danych przesyłanych do oraz odbieranych z serwera SMTP do plików, co jest bardzo pomocne podczas testów. Ważne jest dla mnie również to, że taki mechanizm nie wymaga wprowadzania dodatkowego kodu do projektu, a wysyłka może odbywać się przy pomocy funkcji mail.

Przykładowa konfiguracja:

Po restarcie serwera WWW e-maile będą wysyłane z konta, które skonfigurowaliśmy w sendmailu, a treść każdej wiadomości oraz komunikaty błędów będą logowane do odpowiednich plików.

2 Comments on “sendmail – wysyłanie e-maili pod Windows z PHP

  1. Witam mam problem z instalacja sendmaila. Jestem jeszcze dość zielony. Pobrałem SendMail 1.56 i na tym pozostało. Program jest mi potrzebny do testowania kilku funkcji w php bo brakuje czegoś co mogłoby autoryzować dane z usługodawcą poczty.

    • W pliku php.ini mam sekcję [mail], a w niej ścieżkę do pliku sendmail.exe. To wystarczy, żeby sendmail działał.

      [mail function]
      sendmail_path = „P:\xampp-1.7.1\sendmail\sendmail.exe -t”

      Polecam zainstalowanie całego pakietu np. XAMPP. Dostaniesz wszystko skonfigurowane i gotowe do pracy.

Dodaj komentarz

Twój adres email nie zostanie opublikowany.