通过ActiveJob发送Devise邮件

时间:2018-05-24 10:48:58

标签: ruby-on-rails devise ruby-on-rails-5 sidekiq rails-activejob

在我们的某个应用程序中,我们运行的ActiveJob / Sidekiq / ActionMailer设置正常运行。由于这是一个预订应用程序,我们通过此设置成功向用户发送确认。

我们在尝试让Devise通过ActiveJob发送有关用户操作(注册,password_reset等)的邮件时遇到了困难。

我确实在User模型中覆盖了通知发送的默认行为,如下所示:

def send_devise_notification(notification, *args)
  devise_mailer.send(notification, self, *args).deliver_later
end

更新

我走近了一步。我添加了一个队列Devise推送它失去的工作(XXX_default_mailer_queue) in config / sidekiq.yml`。现在Devise成功地将作业推送到Sidekiq队列。但遗憾的是仍然没有邮件被发送,作业执行时间远远低于1s :

ActionMailer::DeliveryJob JID-fa4bccc79be489f098c7f5ef INFO: done: 0.415

如果我切换到devise_mailer.send(notification, self, *args).deliver_now,则会呈现正确的电子邮件但不会发送。 正如我所说,我们的邮件设置与Devise不同,这就是为什么我认为它是某个地方的Devise特定问题

Devise在这做什么?我该如何调试该过程?通常情况下,我会跳到我的工作或邮件课程的某个地方,但没有...

最好,Andi

0 个答案:

没有答案