【问题标题】:Mail not send via send grid mailing service邮件未通过发送网格邮件服务发送
【发布时间】:2017-08-24 11:35:10
【问题描述】:

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

我查看了 Heroku 日志,错误是

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

在生产中.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 变量上的域设置,因为域在暂存服务器和生产服务器上会有所不同。

【问题讨论】:

    标签: ruby-on-rails heroku sendgrid


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-19
      • 2018-10-17
      • 1970-01-01
      • 1970-01-01
      • 2014-02-21
      • 1970-01-01
      相关资源
      最近更新 更多