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:

[sendmail]
smtp_server = adres.serwera.smtp
smtp_port = 587
error_logfile = error.log
debug_logfile = debug.log

auth_username = login_konta_smtp
auth_password = hasło_konta_smtp

[mail function]

sendmail_path = „C:\sendmail\sendmail.exe -t”

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.

Ten wpis został opublikowany w kategorii PHP, Windows. Dodaj zakładkę do bezpośredniego odnośnika.