Sidekiq Delayed Mailer不发送电子邮件

时间:2013-04-09 00:39:11

标签: ruby-on-rails email actionmailer sidekiq delayed-execution

下午好,

我正在尝试使用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

  4. 显然在邮件对象上调用了DelayedClass扩展,但是没有。鉴于devise-async有效,我想知道我是否使用了错误的语法或什么?“

    谢谢!

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

我也遇到了类似的问题。我对延迟扩展称为#deliver的方式做了一些小改动。

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

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

相关代码为here