Tôi đang cố triển khai biểu mẫu "liên hệ với chúng tôi" trên dự án đường ray 3.0.10 của mình. Theo RailsGuides tôi đã tạo một bưu phẩm.Có cách nào để gỡ lỗi bưu phẩm với sendgrid trên heroku không? Hoặc để kiểm tra xem thư có thực sự được gửi không?
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
Trong điều khiển của tôi, tôi có những dòng này:
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']
}
tôi không có cấu hình này lúc đầu, nhưng khi tôi đã không nhận được email, tôi đã thêm nó.
Vấn đề là nhật ký Heroku cho biết rằng chế độ xem tương ứng đã được hiển thị nhưng tôi không nhận được email. Và bởi vì tôi sử dụng sendgrid, tôi không thể kiểm tra nó cục bộ.
UPD
Lưu ý để tự. Sau khi tạo gmail cho tài khoản miền, đừng quên cài đặt DNS của bạn. > _ <