邮件不通过发送网格邮件服务发送

时间:2017-08-24 11:35:10

标签: ruby-on-rails heroku sendgrid

我们一直在rails应用程序上使用发送网格邮件服务向我们的用户发送邮件。我们的应用托管在Heroku服务器上,但只要rails尝试向我们的用户发送电子邮件,就会出现内部错误。

我查看了Heroku Logs,错误是

  

在63毫秒内完成500内部服务器错误(ActiveRecord:   11.1ms)2017-08-24T11:28:03.914063 + 00:00 app [web.1]:Errno :: ECONNREFUSED(连接被拒绝 - 连接(2)为零端口25):

在production.rb

config.action_mailer.delivery_method = :smtp

config.action_mailer.perform_deliveries = true

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

我们在服务器上使用了SendGrid heroku加载项,因此ENV设置正常。 domain: ENV['DOMAIN']指向ENV变量上的域设置,因为登台服务器和生产服务器上的域名将不同。

1 个答案:

答案 0 :(得分:0)

您显示的连接拒绝错误是针对端口25,这是默认的SMTP端口。

似乎您的配置未被使用。您确定在生产环境中运行(而不是说开发)并且这些设置没有被任何其他配置文件覆盖,或者基于每个电子邮件被覆盖?

如果找不到问题,使用Rails控制台手动发送电子邮件并检查其所有配置可能很有用。