2009-05-16 4 views
15

По умолчанию в Ruby on Rails установлен этот флаг равным false (в процессе производства и разработки).Должно ли raise_delivery_errors установить true в производственном Rails-приложении?

config.action_mailer.raise_delivery_errors = false 

Кажется странным. Я определенно включаю его в развитие, которое было полезно. Но почему никто, похоже, не включился в производство? Разве мы не должны получать уведомление, если письмо не проходит? Это кажется весьма важным.

Рельсы комментарий в production.rb состояниях

плохие адреса электронной почты будут игнорироваться

Но у меня есть некоторые проверки, чтобы проверить неправильные адреса электронной почты. Похоже, я все еще хочу знать (через уведомление об исключении или иначе), как часто пользователи не получают электронные письма.

ответ

12

Реальный вопрос: хотите ли вы, чтобы письмо с ошибкой выдало ошибку вашему конечному пользователю? Возможно, почтовый сервер отключен или несколько других причин не позволяют отправлять электронную почту. Вы хотите, чтобы это привело к ошибке 50 раз для вашего пользователя?

Лично я передаю всю электронную почту асинхронно, так что я могу контролировать этот тип материала (плюс это очень помогает во время реагирования)

+0

Привет там, я думаю, что да, потому что если пользователь видит это, это означает, что я Посмотрите его (и узнайте) через почтовую программу исключения. В противном случае я бы, наверное, никогда не знал, что что-то идет не так. Я использую postfix, который, по моему мнению, делает это асинхронно, поэтому это означает, что редко (если вообще когда-либо) будет недоступно право? Или, если возникла ошибка, она появится в postfix? Спасибо за вашу помощь. –