2010-01-17 4 views
1

Я пытался отправить тестовый бюллетень, используя мою учетную запись gmail, как smtp, но когда я попытался отправить нескольким получателям: ['emai @ laddr @ email.com, [email protected] '] - в этом случае первый адрес электронной почты неверен - он дает мне ошибку 555 - 5.5.2 Ошибка синтаксиса, и процесс останавливается, не проходя через следующие адреса электронной почты.Ошибки SMTP при отправке писем с рубинами на рельсах

Мой вопрос: Есть ли возможность обойти эти ошибки, чтобы пропустить неправильные адреса и продолжить отправку писем?

С уважением.

ответ

1

Вы можете установить ActionMailer, чтобы игнорировать ошибки доставки, но это не считается лучшей практикой в ​​производственной среде.

# environment.rb (or development/test etc) 
ActionMailer::Base.raise_delivery_errors = false 

Если у вас нет много получателей, вы можете попробовать перекручивание через массив адресов и отправки электронной почты для каждого из них, спасая ошибку доставки и добавление сообщения в журнал.

# Model 
def send_emails(addresses) 
    addresses.each do |address| 
    begin 
     YourMailer.deliver_method(email) 
    rescue 
     logger.error "Could not send email to #{email}" 
    end 
    end 
end 
+0

Я пробовал установить raise_delivery_errors = false без везения. Я склонен думать, что проблема здесь в том, что smtp_tls останавливает процесс, но я точно не знаю. Спасибо за ваше время! – fk2blow

+0

Вы попробовали мое второе предложение? – tfwright

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