7
我試圖在我的rails 3.0.10項目上實現「聯繫我們」表單。在RailsGuides之後,我創建了一個郵件程序。有沒有辦法在heroku上用sendgrid調試郵件程序?或者檢查郵件是否實際發送?
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
在我的控制器我有這行:
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']
}
我沒有這個配置在第一,但我沒有收到電子郵件,我補充說。
問題是,Heroku日誌說,相應的視圖已被渲染,但我沒有收到電子郵件。因爲我使用sendgrid,所以我無法在本地進行測試。
UPD
自我提醒。爲域帳戶創建Gmail後,請不要忘記您的DNS設置。 > _ <