我为我的 heroku 应用程序设置了发送网格启动器。
我把它放在我的 config/environment.rb 中:
ActionMailer::Base.smtp_settings = {
:user_name => ENV["SENDGRID_USERNAME"],
:password => ENV["SENDGRID_PASSWORD"],
:domain => "my-sites-domain.com",
:address => "smtp.sendgrid.net",
:port => 587,
:authentication => :plain,
:enable_starttls_auto => true
}
我创建了这个类models/notifier.rb:
class Notifier < ActionMailer::Base
def notify()
mail(
:to => "my-email@gmail.com",
:subject => "New Website Contact",
:body => "body",
:message => "message",
:from => "website@my-sites-domain.com"
)
end
end
我把它放在另一个控制器中发送电子邮件:
def contact
Notifier.notify().deliver
redirect_to("/", :notice => "We Have Received Your Request And Will Contact You Soon.")
end
当我部署并尝试发送电子邮件时,我收到此错误:
Net::SMTPAuthenticationError(535 身份验证失败:用户名/密码错误
我已经完全设置了发送网格,它说我准备好发送电子邮件了。
我还跑去heroku config --long
获取实际的密码和用户名并对其进行硬编码,但这仍然给了我同样的错误。