Railsy i actionmailer
Sunday, March 30th, 2008Chwile walczyłem z problemem wysyłania maili przez actionMailer. Rozwiązanie okazało się banalne,
ale dla początkujących trudne do przejścia. Ale od początku:
Wcześniej aplikacja była odpalana jako fcgi na tym samym serwerze na ktorym była domena, wiec o dziwo (!!!) bez ustawienia <code>ActionMailer::Base.smtp_settings</code> wszystko ładnie działało.
Problem pojawił się jednak przy przeniesieniu na inny serwer. Na początku w logach wszystko wyglądało ok, była treść maila i proste stwierdzenie “mail sent”. Pomimo tego żadne maile nie docierały. Zmiana hasła w ustawieniach smtp_settings też nic nie pomogła, nadal “mail sent”, a wyników jak nie było tak nie ma.
Rozwiązanie:
Z pomocą przyszło ustawienie:
ActionMailer::Base.raise_delivery_errors = true
i błąd zwracany przez aplikacje o nie udanej autoryzacji. Szybkie sprawdzenie danych do autoryzacji i… następna zagadka. Wszystko poprawnie ustawione, a maili jak nie było tak nie ma. Jak to przy wszystkich problemach z Railsami rozwiązanie jest bardzo proste: Chcąc się logować na konto user@domena.com w ustawieniach smtp pozycja: :user_name => “” powinna wyglądać :user_name => “user@domena.com” a nie jak można się było spodziewać :user_name => “user”.
Dzięki temu zrobiłem następny krok ku agile development ![]()