Ошибки SMTP при отправке писем с ruby ​​на рельсы - PullRequest
1 голос
/ 18 января 2010

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

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

1 Ответ

1 голос
/ 18 января 2010

Вы можете настроить 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...