2013-04-25 6 views
8

Mam prostą aplikację Rails 3.2.7 z dodanym Devise, który został wdrożony w Heroku z dodanym Sendgrid. Działa dobrze na heroku dla wszystkiego, z wyjątkiem sytuacji, gdy konieczne jest pobranie hasła, które wymaga wysłania wiadomości e-mail. Ze wszystkich przeczytanych postów podejrzewam, że w jakiś sposób nieprawidłowo konfiguruję parametry poczty. Wszelkie sugestie są mile widziane.Jak skonfigurować Devise e-mail z Heroku i Sendgrid w Rails?

Dla konfiguracji/Środowiska/production.rb I dodaje

config.action_mailer.default_url_options = { :host => 'smtp.sendgrid.net'} 

o konfiguracji/inicjalizatorów/devise.rb I dodaje

config.mailer_sender = "[email protected]" 

i do konfiguracji/environments.rb I dodaje

ActionMailer::Base.smtp_settings = { 
:address  => 'smtp.sendgrid.net', 
:port   => '587', 
:authentication => :plain, 
:user_name  => ENV['SENDGRID_USERNAME'], 
:password  => ENV['SENDGRID_PASSWORD'], 
:domain   => 'heroku.com', 
:enable_starttls_auto => true 
} 

Odpowiedz

8

Twój problem polegał na tym, że odwoływałeś się do niewłaściwych zmiennych środowiskowych. Heroku przechowuje twoje dane uwierzytelniające SendGrid w ENV['SENDGRID_USERNAME'] i ENV['SENDGRID_PASSWORD']. Używałeś swojej rzeczywistej nazwy użytkownika i hasła jako nazwy kluczowe.

to będzie działać:

ActionMailer::Base.smtp_settings = { 
    :address  => 'smtp.sendgrid.net', 
    :port   => '587', 
    :authentication => :plain, 
    :user_name  => ENV['SENDGRID_USERNAME'], 
    :password  => ENV['SENDGRID_PASSWORD'], 
    :domain   => 'heroku.com', 
    :enable_starttls_auto => true 
} 
+1

Dzięki Swift- to działa !! – user2284821

Powiązane problemy