2

下午好,

我正在尝试使用 Sidekiq/Redis 在后台发送电子邮件。我应该注意以下几点:

  1. 我正在使用devise-async,它没有问题

  2. 我的ActionMailer设置很好
    如果我将邮件调用更改为UserMailer.contact_email(name).deliver!电子邮件发送就好了。什么不工作是UserMailer.delay.contact_email(name)

  3. 我可以在我的日志中看到正在处理的工作,你甚至会认为邮件正在通过。只有当我发送给自己时,我才注意到它不起作用:
    Apr 08 18:36:58 app01-production sidekiq: 2013-04-09T00:36:58Z 31155 TID-1jdwoq Sidekiq::Extensions::DelayedClass JID-6143790ebbf6e8bbc4a7bb85 INFO: done: 4.923 sec

它显然是在邮件对象上调用 DelayedClass 扩展,但不行。鉴于这devise-async行得通,我想知道我是否使用了错误的语法或什么?

谢谢!!

4

2 回答 2

3

实际上我在使用 rails 4 版本时也有同样的问题。上面的解决方案对我不起作用,我检查了@benjamin repo 并且找不到它。所以,我尝试了 sidekiq mailer gem https://github.com/andersondias/sidekiq_mailer并让它运行良好!

于 2014-10-27T18:51:29.820 回答
1

我也遇到了类似的问题。我对延迟扩展调用#deliver 的方式做了一个微小的改变。

试试这个:gem 'sidekiq', :git => "git@bitbucket.org:benjamintanweihao/sidekiq.git"

如果这对您有用,则可能是由于msg.from未设置。

相关代码在这里

于 2013-04-18T05:31:29.190 回答