2013-04-09 80 views
2

下午好,Sidekiq延迟寄件人不发送电子邮件

我试图用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的作品,我想知道如果我使用了错误的语法或什么?`

谢谢!

回答

1

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

试试这个:gem 'sidekiq', :git => "[email protected]:benjamintanweihao/sidekiq.git"

如果这对你有用,那么可能是因为没有设置msg.from

相关代码为here

+0

嗨本杰明 - 谢谢你的建议!不幸的是,我正在休假一个月,因此在那之前无法尝试。欣赏它,但。我会接受,因为它似乎是合理的:) – Brandon 2013-04-18 14:00:18

3

其实我使用rails 4版本时也有同样的问题。上述解决方案不适合我,我检查@benjamin回购,并找不到它。所以,我已经尝试sidekiq邮件gem https://github.com/andersondias/sidekiq_mailer并让它工作得很好!