2010-11-08 11 views
5

Próbuję dostać sendgrid uruchomiony na moim Rails 3 Aplikacja z opracowania, więc opracować mogą wysyłać e-maile rejestracyjne itp ..Rails 3 - sendgrid konfiguracja wspierać opracowanie

dodałem następujące config/setup_mail. rb:

ActionMailer::Base.smtp_settings = { 
    :address => "smtp.sendgrid.net", 
    :port => '25', 
    :domain => "XXXXXXXXX.com", 
    :authentication => :plain, 
    :user_name => "[email protected]", 
    :password => "XXXXXXXXXX" 
} 

Czy to nie wystarczy, aby Rails + Devise wysyłał e-maile rejestracyjne? Czy potrzebuję czegoś innego lub jakiegoś rodzaju klejnot?

Logi pokazują generowany e-mail, ale nie widzę niczego w dzienniku na temat wysłania wiadomości MAIL lub błędu. I moje konto sendgrid nadal mówi 0/200 e-maile wysłane.

Czy istnieje lepszy sposób w Railsach, aby zobaczyć, co się dzieje, gdy próbuje wysłać wiadomość e-mail?

Dzięki

Odpowiedz

2

Możesz wymazać konfigurację, którą posiadasz.

heroku addons:create sendgrid:free 

To jest jedyny fragment kodu, którego potrzebujesz, aby otrzymać wiadomość e-mail skonfigurowaną za pomocą heroku.

Upewnij masz Host Link konfigurację, która myślę, że tak, ponieważ spowoduje to, że do katastrofy, ale jeśli nie masz:

config.action_mailer.default_url_options = { :host => 'myapp.heroku.com' } 

Właściwie to ostatnie zastawu jest inna na rails3 więc uważaj to :)

Wiersz "config" należy dodać do pliku "production.rb".

+1

Chodzi o to, że nie chcę go konfigurować z Heroku, ale raczej użyj sendgrig bezpośrednio, ponieważ potrzebuję go do pracy lokalnie. – AnApprentice

+0

zawsze musi być wyjątkowy :). Przepraszam, zbyt wiele zmiennych, których ostatnio nie doświadczyłem. – s84

+0

Jedyne, co mogę wymyślić, to na twoim 'default_url_options' ustaw jako adres URL sendgrid' smtp.sendgrid.net' – s84

0

Sam szukam tej samej odpowiedzi. W intializerze/devise.rb czytam:

# Configure the class responsible to send e-mails. 
    # config.mailer = "Devise::Mailer" 

Zastanawiam się, czy Devise należy poinformować o korzystaniu z Actionmailera.

+0

To nie było tak. Użyłem kwerendy JSON do sprawdzenia poświadczeń sendgrid. https://sendgrid.com/api/[email protected]&api_key=keyhere&[email protected]&toname=Destination&subject=Example%20Subject&text=testingtextbody&[email protected] uk I to zadziałało dobrze. Wygląda na to, że mogę uzyskać wiadomość e-mail od Devise'a, gdy korzystam z trasa zapomnienia hasła, ale nie wtedy, gdy używam formularza rejestracji –

+1

OK, moim problemem nigdy nie było to, że wiadomości e-mail nie były wysyłane z heroku do sendgrid, moje było to, że nie miałem ustaw opcje modelu Devise na: confirmable (ale miałem: możliwy do odzyskania, dlatego zadziałały moje odzyskiwanie wiadomości e-mail). –