В настоящее время я использую Rails 4.1.9 и Sidekiq 3.3.0 в производственной среде (на частном физическом сервере).Почему я не могу доставлять электронные письма с помощью Sidekiq 3.3 и Rails 4.1?
Когда я пытаюсь отправить электронную почту, используя метод delay
из Sidekiq с помощью:
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
, установленный и работающий на сервере.
Есть ли способ исправить эту проблему?
Покажите нам свой метод 'new_user'. Вероятность 99% - это потому, что вы не устанавливаете атрибут From:. –
Я устанавливаю его с помощью перехватчика электронной почты. Это может быть проблема? Я имею в виду, что я использую настройку 'from' по умолчанию для каждого письма, но я делаю это в перехватчике. Есть ли вероятность, что Sidekiq игнорирует этот отрывок? – marzapower
Вот логика, вы можете определить, почему ваше почтовое сообщение не «доставляет»: https://github.com/mperham/sidekiq/blob/master/lib/sidekiq/extensions/action_mailer.rb#L20 –