2010-07-21 2 views
1

Я отправляю письмо с подтверждением о сохранении. Если адрес электронной почты в списке «CC» недействителен я получаю следующую ошибкуRails 2.3 action mailer Net :: SMTPFatalError

Net :: SMTPFatalError (550 5.1.1 ... Пользователь неизвестен ):

и транзакция не сохраняется, даже если он вызывается из метода after_save в модельном наблюдателе. Если транзакция не будет сохранена до ошибки.

Кроме того, когда я устанавливаю значение raise_delivery_errors в false в моем файле конфигурации, ошибка не возникает и транзакция сохраняется, но письмо не отправляется членам списка «To» и «CC» даже если один из адресов электронной почты в списке «CC» недействителен.

Система должна по крайней мере отправлять письма людям с действительными адресами электронной почты. Любые предложения по исправлению этой проблемы.

спасибо, пепла

ответ

0

К сожалению, ваши обратные вызовы выполняются в контексте сделки, и возвращающееся false или метание исключения вызывает операцию откат: http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html

Вы можете поймать это исключение в коде , зарегистрировать его, а не повторно поднять?

Вы можете использовать after_save для стрельбы worker queue or delayed job.

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