2015-01-23 4 views
0

В настоящее время я использую 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, установленный и работающий на сервере.

Есть ли способ исправить эту проблему?

+0

Покажите нам свой метод 'new_user'. Вероятность 99% - это потому, что вы не устанавливаете атрибут From:. –

+0

Я устанавливаю его с помощью перехватчика электронной почты. Это может быть проблема? Я имею в виду, что я использую настройку 'from' по умолчанию для каждого письма, но я делаю это в перехватчике. Есть ли вероятность, что Sidekiq игнорирует этот отрывок? – marzapower

+1

Вот логика, вы можете определить, почему ваше почтовое сообщение не «доставляет»: https://github.com/mperham/sidekiq/blob/master/lib/sidekiq/extensions/action_mailer.rb#L20 –

ответ

1

В настоящее время Sidekiq требует, чтобы почтовый объект имел установленные атрибуты (To | Bcc | Cc) и From.

Это будет исправлено в 3.3.1, где оно не будет проверять эти атрибуты.

Смежные вопросы