为什么我的Heroku应用程序不使用Sendgrid在生产中发送电子邮件?

时间:2014-12-10 13:56:37

标签: ruby-on-rails ruby-on-rails-4 heroku devise sendgrid

我的设计电子邮件在开发中运行良好。

但是现在我已经推送到Heroku而且正在使用sendgrid插件,它们不会被发送。我没有收到错误。它似乎发送得很好,只是它从未真正到达我的收件箱。

这是我的config/environment/production.rb文件:

config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = false
config.action_mailer.default :charset => "utf-8"
config.action_mailer.default_url_options = { :host => 'http://myapp.herokuapp.com' }

config.action_mailer.smtp_settings = {
  :user_name => ENV["SENDGRID_USERNAME"],
  :password => ENV["SENDGRID_PASSWORD"],
  :address => 'smtp.sendgrid.net',
  :domain => 'myapp.herokuapp.com',
  :port => 587,
  :authentication => :plain,
  :enable_starttls_auto => true
}

我检查了Heroku上的那些配置变量,它们返回了有效的结果。

有什么想法吗?

P.S。我还没有指向Heroku App的域名,我只想先用Heroku设置测试它。

2 个答案:

答案 0 :(得分:6)

一切看起来都不错,您是否检查了是否配置了sendgrid帐户?

如果您使用的是heroku,请转到sendgrid面板完成设置,只需访问应用程序配置文件并在资源(这是默认设置)下,您应该看到sendgrid插件,单击它并确保您拥有一切安排。在这种情况下,它会要求您设置模板,但您可以跳过'此

希望这有帮助!

答案 1 :(得分:1)

这也发生在我身上,或类似的东西。我使用这些电子邮件只发送到一个电子邮件地址,用于我的个人通知。

事实证明,电子邮件地址是第一次“退回”,并在Sendgrid被“抑制”以供将来发送。我会检查“抑制”标签,以确保没有发生在你身上。