7

Estoy tratando de implementar un formulario "contáctenos" en mi proyecto rails 3.0.10. Siguiendo RailsGuides creé un anuncio publicitario.¿Hay alguna manera de eliminar errores de correo con sendgrid en heroku? ¿O para verificar si realmente se envió el correo?

class QuestionMailer < ActionMailer::Base 
    default :to => "%[email protected]" #gmail for domains 

    def ask(message) 
    @content = message.content 

    unless message.name.nil? or message.name.empty? 
     from = "#{message.name} <#{message.email}>" 
    else 
     from = message.email 
    end 

    mail(:subject => message.subject, :from => from) 
    end 
end 

En mi controlador tengo estas líneas:

if @question.valid? 
    QuestionMailer.ask(@question).deliver 
    redirect_to root_url, :notice => "Сообщение отправлено" 
else 

production.rb:

config.action_mailer.delivery_method = :smtp 
config.action_mailer.default_url_options = { :host => '%mydomain%' } 

ActionMailer::Base.smtp_settings = { 
    :address  => "smtp.sendgrid.net", 
    :port   => "25", 
    :authentication => :plain, 
    :user_name  => ENV['SENDGRID_USERNAME'], 
    :password  => ENV['SENDGRID_PASSWORD'], 
    :domain   => ENV['SENDGRID_DOMAIN'] 
} 

no tenía esta configuración en un primer momento, pero cuando no he recibido el correo electrónico, lo agregué.

El problema es que el registro de Heroku dice que se ha representado la vista correspondiente, pero no recibo el correo electrónico. Y porque uso sendgrid, no puedo probarlo localmente.

UPD

Nota al uno mismo. Después de crear la cuenta de dominio de gmail, no olvide las configuraciones de su DNS. > _ <

Respuesta

11

Puede probar localmente sigue utilizando SendGrid - desde la línea de comandos hacer heroku config y se puede agarrar los valores que Heroku ha fijado para SendGrid nombre de usuario, contraseña y dominio y luego los puso en su development.rb junto con el configuración de Actionmailer y enrutará su mensaje a través de sendgrid desde su aplicación de desarrollo local.

También encuentro este plugin de heroku https://github.com/hone/heroku-sendgrid-stats muy útil para verificar el número de envío de mi mensaje.

Cuestiones relacionadas