为什么我不能使用 Sidekiq 3.3 和 Rails 4.1 发送电子邮件?

Why can't I deliver emails using Sidekiq 3.3 and Rails 4.1?

我目前在生产环境(在私有物理服务器上)上使用 Rails 4.1.9 和 Sidekiq 3.3.0。

当我尝试使用 Sidekiq 中的 delay 方法发送电子邮件时:

UserMailer.delay.new_user(user)

碰巧 mailer 队列正常工作,邮件已出队并呈现,但未送达。这是我在 sidekiq.log 文件中获得的唯一日志:

2015-01-23T17:29:37.107Z 11266 TID-zo3e4 Sidekiq::Extensions::DelayedMailer JID-37f667c9ab5d446e07655ed6 INFO: start
  Rendered user_mailer/new_user.html.haml within layouts/mail (0.8ms)
2015-01-23T17:29:37.117Z 11266 TID-zo3e4 Sidekiq::Extensions::DelayedMailer JID-37f667c9ab5d446e07655ed6 INFO: done: 0.01 sec

相反,如果我调用通常的方法:

UserMailer.new_user(user).deliver

邮件被呈现并且被送达。

该应用程序配置为使用 sendmail 发送电子邮件,我已安装 exim4 并在服务器上运行。

有什么办法可以解决这个问题吗?

Sidekiq 目前要求邮件对象设置 (To | Bcc | Cc) 和 From 属性。

这将在 3.3.1 中修复,它不会检查这些属性。