Mam dla mnie interesującą zagwozdkę.
Próbowałem wysłać e-mail o takich danych (gwiazdki to jakieś znaki)
smtp: mail.mojadomena.pl
port: 587
auth: true
username: ****
password: ****
from: ***@wp.pl
to: [email protected]
itd.
Czyli jako from podawałem zewnętrzny adres nie leżący na moim serwerze poczty, a e-mail miał dochodzić na mój adres (np. klient przez stronę zadaje pytanie, to dostaje to pytanie jako nadawca jest on, a adresat ja).
Setki razy testowałem to na swoim lokalnym komputerze i normalnie działało z dokładnie takimi danymi jak tutaj.
Setki razy testowałem to mając już stronę umieszczoną na serwerze i nigdy nie było problemem, że adres nadawcy był taki jaki był i wszystko grało.
Ale ostatnio przeglądając log zauważyłem, że czasami jest ok, a czasami dostaję:
Status: Failed to send data [SMTP: Invalid response code received from server (code: 550, response: Incorrect sender information in header.)]
Dlaczego czasami działa a czasami nie?
Zorientowałem się, że w czasie kiedy nie działa, to nie przyjmuje adresu from z innej domeny jak jest uruchamiane na serwerze w sieci, ale w tym samym czasie wysłanie z serwera założonego na lokalnym komputerze z dokładnie tymi samymi danymi chodzi całkowicie normalnie.
Rozwiązaniem problemu było zrobienie:
'From' => '[email protected]'
'To' => '[email protected]'
'Reply-To' => '***@wp.pl'
I tak chodzi, ale ponieważ nie wiem co było pierwotną przyczyną wolę zapytać, żeby potem znowu nie było problemu.