в одном из наших приложений у нас запущена установка ActiveJob / Sidekiq / ActionMailer, которая работает нормально.Поскольку это приложение для бронирования, мы успешно отправляем подтверждение пользователям через эту настройку.
Мы испытываем трудности при попытке Devise отправлять письма о действиях пользователя (регистрация, сброс пароля и т. Д.) Через ActiveJob.
Я переопределил поведение отправки уведомлений по умолчанию в моей 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. Но, к сожалению, письма по-прежнему не отправляются, время выполнения задания намного меньше 1 с:
ActionMailer::DeliveryJob JID-fa4bccc79be489f098c7f5ef INFO: done: 0.415
Если я переключаюсь на devise_mailer.send(notification, self, *args).deliver_now
, то правильное письмо отправляется, но не отправляется. Как я уже сказал, наша настройка почты работает отдельно от Devise, поэтому я предполагаю, что это где-то специфическая проблема Devise
Что здесь делает Devise? Как я могу отладить процесс? Обычно я прыгаю где-нибудь в моей работе или в классах почтовой программы, но их нет ...
best, Andi