将Rails 3.1应用程序移植到Rails 4.1.6之后,只会发送前几封电子邮件。它仍然可以在具有相同SMTP服务器信息的同一台机器上的Rails 3.1上正常工作。
应用程序向计划参加活动的约6人中的每一人发送定制的提醒电子邮件。有一个循环调用ActionMailer生成电子邮件然后传递它。
虽然日志显示了生成和发送的所有电子邮件,但实际上只收到了2或3封电子邮件。
我在发送每封电子邮件之间尝试'睡眠(5)',但这没有任何区别。
我认为以异步方式发送它可能会解决问题。
http://reefpoints.dockyard.com/ruby/2012/06/26/rails-4-sneak-peek-async-actionmailer.html 建议添加 self.async = true 到邮件程序类但是有一个错误,即'async'方法未知,这不会出现在ActionMailer API文档中。
我尝试设置sidekiq和redis(不是最明显的)并使用 UserMailer.delay.reminder1(item,test) 没有失败,redis服务器似乎收到了请求,但没有收到电子邮件。