【问题标题】:Why is my Rails app trying to send an email in the development environment?为什么我的 Rails 应用程序试图在开发环境中发送电子邮件?
【发布时间】:2011-05-07 09:21:29
【问题描述】:

我已关注instructions on this page 开始使用 ActionMailer。在我测试它可以从 Gmail 帐户发送电子邮件后,我将 perform_deliveries 选项重置为 false 并发送了一些测试电子邮件。即使不应该发送这些电子邮件,我也可以查看 /var/log/mail.log 并看到它仍在尝试从 smtp 发送电子邮件,并且不断弹出警告我“操作超时”

这是一个错误示例:

postfix/smtp[2837]: connect to gmail-smtp-in.l.google.com[74.125.93.27]:25: Operation timed out

当我处于开发模式时,如何确保 Rails 不会尝试发送电子邮件?我认为这将是自动的,因为我已将 perform_deliveries 设置为 false。

【问题讨论】:

  • 您在哪里设置 perform_deliveries 配置值?我假设在环境/development.rb 中。另外,请确保您在设置该值后重新启动了服务器。
  • 是的,它在 development.rb 中。我确实重启了几次服务器。

标签: ruby-on-rails actionmailer postfix-mta


【解决方案1】:

尝试在您的development.rb 文件中设置config.action_mailer.delivery_method = :test

【讨论】:

    【解决方案2】:

    请检查您是否使用 ActionMailer #deliver 方法而不是 #deliver!因为最后一个绕过检查 perform_deliveries

    【讨论】:

      猜你喜欢
      • 2015-11-16
      • 2014-04-04
      • 2015-02-08
      • 2014-10-01
      • 2013-08-10
      • 1970-01-01
      • 2015-04-27
      • 2011-05-17
      相关资源
      最近更新 更多