funkcja mail(), problem pod Ubuntu, rozwiazanie z sSMTP
3.31.2010 | Inne
Ostatnio przeniosłem się całkowicie na Ubuntu. doszedłem do wniosku ze męczenie się pod Windowsem w trakcie pracy z Symfony nie ma większego sensu. Oczywiście i pod linuxem zdarzają się dziwne krzaczki ;). Wczoraj odkryłem, że przy świeżej instalacji serwera Apache2 i PHP5 +MySQL, upraszczając LAMP nie działa mi funkcja mail(). Dla mnie było to zaskoczeniem, ponieważ pracując pod Windowsem na XAMPP’ie nigdy nie miałem takich problemów.
Cóż okazało się, że nie mam zainstalowanego serwera od poczty i oczywiście tu zaczęły się prawdziwe schody. Nie chciałem konfigurować całego serwera od poczty, bo takiego nie potrzebuję, a i czasu też było mi szkoda na czytanie dokumentacji. Sprawdziłem kilka rozwiązań niestety, wszystkie w domyślnym ustawieniu nie chciały współpracować z php.
Rozwiązaniem okazał się sSMTP, który jest prostym MTA (agentem przesyłania poczty). W skrócie, zainstalowałem sSMTP, skonfigurowałem go z moim kontem na Gmailu i moglem się cieszyć z działającej funkcji mail(). Dla potrzeb developerskich jest to wystarczające.
Instalacja pakietu:
apt-get install ssmtp
Edytujesz plik konfiguracyjny:
sudo nano /etc/ssmtp/ssmtp.conf
i konfigurujesz konto mailowe na Gmailu (lub dowolne inne):
root= twój_login@gmail.com
AuthUser= twój_login@gmail.com
AuthPass= hasło
AuthMethod= LOGIN
UseTLS= YES
UseSTARTTLS= YES
mailhub= smtp.gmail.com:587
Ostatnia rzecz o której należy pamiętać aby funkcja mail() dzialała z sSMTP to ta mała zmiana w konfiguracji php.ini
sudo nano /etc/php5/apache2/php.ini
w linii gdzie jest sendmail_path wpisz:
sendmail_path = /usr/sbin/ssmtp -t
na sam koniec aby sSMTP działał poprawnie zrestartuj serwer Apache2
sudo /etc/init.d/apache2 restart
Mam nadzieje, że ten wpis nie jednej osobie oszczędzi czasu na szukaniu rozwiązania z niedziałająca funkcją mail() przy świeżej instalacji Linux’a.
9.09.2010
dobre
tez miałem problem z funkcją mail()
sprawdzę niebawem
pozdrawiam