Mar 30 2008
Railsy i actionmailer
Chwile walczyłem z problemem wysyłania maili przez actionMailer. Rozwiązanie okazało się banalne, ale dla początkujących trudnedo przejścia. Ale od początku:
Problem:
Wcześniej aplikacja była uruchamina jako poprzez fcgi na tym samym serwerze na ktorym była domena, wiec o dziwo (!!!) bez ustawienia
ActionMailer::Base.smtp_settings
wszystko ładnie działało bez zarzutów i bezproblemowo.
Problem pojawił się jednak przy przeniesieniu na inny serwer. Na początku w logach nie pojawiło się nic niepokojącego, była widoczna treść wysyłanej wiadomości 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”


July 29th, 2008 at 1:49 pm
Nie prawda
Jest to zalezne od serwera na ktorym masz poczte. Na wiekszosci “shared hosting” domena w nazwie uzytkownika jest wymagana zeby dobrze zlokalizowac odpowiednie dane konta.
August 17th, 2008 at 3:20 am
Railsy i “shared hosting” to się raczej nie sprawdza dla powazniejszej aplikacji. Wpis jest przypadkiem ogólnym, tzn. podane ustawienia na więkości będą działać.