2011-08-24 14 views
7

Raylarım 3.0.10 projemde "bize ulaşın" formu uygulamaya çalışıyorum. RailsGuides'i takiben bir mailer oluşturdum.Mailler postacıda sendugrid ile hata ayıklamanın bir yolu var mı? Veya postaların gerçekten gönderilip gönderilmediğini kontrol etmek için mi?

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

Production.rb: Ben almadım ben ilk başta bu yapılandırma var, ama yoktu

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'] 
} 

benim denetleyicisi olarak

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 

Ben bu satırları var e-posta ekledim.

Sorun, Heroku günlüğünün, ilgili görünümün işlendiğini ancak e-postayı almamın söylendiğini söylüyor. Sendgrid kullandığım için yerel olarak test edemiyorum.

upd kendine

Not. Etki alanı hesabı için gmail oluşturduktan sonra, DNS ayarlarınızı unutmayın. > _ <

cevap

11
Hala sendgrid kullanarak yerel olarak test edebilirsiniz

- heroku config yapmak ve Heroku sendgrid adınızı, parolanızı ve etki alanı için belirlediği değerlerini yakalamak ve daha sonra ile birlikte development.rb bunları komut satırından actionmailer ayarları ve mesajınızı yerel geliştirme uygulamanızdan sendgrid yoluyla yönlendirir.

Ayrıca bu ileti gönderim numaralarını kontrol etmek için https://github.com/hone/heroku-sendgrid-stats bu çok kullanışlı bulmacayı da bulabilirim.

İlgili konular