2010-11-08 8 views
5

Estoy intentando conseguir correr SendGrid en mis Carriles 3 de la aplicación con Idear, por lo idear puede enviar mensajes de correo electrónico de registro, etc ..Carriles 3 - Configuración SendGrid para apoyar idear

I añadido el siguiente, 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" 
} 

¿No debería ser eso suficiente para que Rails + Devise envíe correos electrónicos de registro? ¿O necesito algo más o una joya de algún tipo?

Los registros muestran el correo electrónico que se está generando, pero no veo nada en el registro sobre el envío de CORREO con éxito o el error. Y mi cuenta sendgrid aún dice 0/200 correos electrónicos enviados.

¿Hay alguna manera mejor en Rails para ver qué sucede cuando intenta enviar el correo electrónico?

Gracias

Respuesta

2

Puede borrar la configuración que tenga.

heroku addons:create sendgrid:free 

Éstas son las únicas piezas de código que necesita para configurar el correo electrónico con heroku.

Asegúrese de que tiene la configuración de host link que creo que lo hizo porque va a hacer que se caiga, pero si no es así:

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

En realidad este último gravamen es diferente en rails3 así que tengan cuidado que :)

La línea "config" debe agregarse a su archivo "production.rb".

+1

Lo que pasa es que no quiero configurarlo con Heroku sino usar Sendgrig directamente, ya que lo necesito para trabajar localmente. – AnApprentice

+0

siempre teniendo que ser especial :). Lo siento, demasiadas variables que no he revisado personalmente recientemente. – s84

+0

Lo único que se me ocurre en su 'default_url_options' establecerlo como la url de sendgrid' smtp.sendgrid.net' – s84

0

Estoy buscando la misma respuesta a mí mismo. En intializers/devise.rb leí:

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

Me pregunto si Diseñar tiene que ser indicado que use ActionMailer.

+0

No fue eso. Usé una consulta JSON para verificar las credenciales de sendgrid. https://sendgrid.com/api/[email protected]&api_key=keyhere&[email protected]&toname=Destination&subject=Example%20Subject&text=testingtextbody&[email protected] uk Y eso funcionó bien. Parece que puedo recibir un correo electrónico de Devise cuando uso la ruta forgotpassword, pero no cuando uso el formulario de registro –

+1

OK, mi problema nunca fue que los correos electrónicos no se enviaran desde heroku a sendgrid, mi era que no lo había hecho establecí las opciones de modelo de Devise para incluir: confirmable (pero tuve: recuperable, que es el motivo por el que funcionaban mis correos electrónicos de recuperación). –

Cuestiones relacionadas