Ponieważ wiele osób ma problem z wysyłaniem maili z presty poprzez funkcję mail() chciałam naświetlić problem i przedstawić jego rozwiązanie.
Dlaczego funkcja mail() w PrestaShop nie działa na wszystkich serwerach? Jest to spowodowane tym że skrypt modyfikuje nagłówek „FROM” i jeżeli serwer poczty wychodzącej nie jest na tym samym serwerze co Twoja usługa HTTP/FTP to bardzo prawdopodobne, że taki mail zostanie odrzucony.
Rozwiązaniem tego problemu dla wysyłania poprzez funkcję mail() jest notatka pod adresem poniżej:
http://www.presto-changeo.com/en/content/9-fix-email-problems Jednak nie polecam tej metody z dwóch powodów:
1. Ingerencja w kod skryptu co powoduje, że czynność będzie trzeba powtórzyć po aktualizacji
2. Funkcja daje większe możliwości, zaś wysłana poczta poprzez SMTP posiada dokładny ślad w systemie i jest bardziej wiarygodną dla odbiorcy a więc i zatem kupującego niż poprzez funkcję mail()
Dlaczego nie działa funkcja SMTP? Ponieważ w większości przypadków jest ona źle skonfigurowana:
Pole:
Pełna nazwa kwalifikowana domeny powinno być w 99% przypadków puste
Adres serwera SMTP: nie można wpisywać po prostu adres swojej domeny – nie zawsze to zadziała. Adres serwera SMTP uzyskasz od firmy która obsługuję Twoją pocztę. Jako przykład: Serwery Wirtualne w hostit.pl mają SMTP o adresie poczta.hostit.pl natomiast zarządzane serwery VPS i zarządzane serwery dedykowane zupełnie inny.
Pamiętaj, że testowanie wysyłania maila z panelu administratora nie zadziała, jeśli pole hasło będzie puste w momencie testu. Dlatego gdy chcesz przetestować wysyłkę z panelu, pole z hasłem musi być wypełnione.
Upewnij się że na dane, które podajesz w PrestaShop możesz zalogować się przez WebMaila udostępnionego przez Twojego dostawcę usług emial.
Mam nadzieję, że powyższe informację przydadzą się komuś, ponieważ przeszukując internet można znaleźć wiele osób które mają z tym problem (nie tylko w Polsce), natomiast w hostit.pl takich pytań mamy tygodniowo po kilkanaście.
Pozdrawiam
Marta