отправка нескольких писем с помощью SMTP через nodemailer приводит к ошибкам закрытия соединения - PullRequest
0 голосов
/ 03 сентября 2018

У меня возникают проблемы, когда я делаю зацикленный вызов функции отправки электронной почты Mailer. Я тестирую отправку более 50 электронных писем, и наибольшее количество успешно отправленных сообщений до сих пор составляло 30. Остальное остановлено следующими ошибками. Я отредактировал полный адрес электронной почты для робота по соображениям конфиденциальности.

[2018-09-03 05:18:32] INFO [0rULO04aig] Пользователь "xxx.robot@xxxxxx.com" проверка подлинности

[2018-09-03 05:18:32] INFO [# 1] Отправка сообщения <3299d22a-e0c8-00b8-4f7d-4d0455f85b31@xxxxx.com> используя # 1 для

[2018-09-03 05:18:32] ОТЛАДКА [0rULO04aig] C: ПОЧТА ОТ:

[2018-09-03 05:18:32] DEBUG [PFhdqz3yHs] S: 250 2.1.0 OK v72-v6sm36109733pfj.22 - gsmtp

[2018-09-03 05:18:32] ОТЛАДКА [PFhdqz3yHs] C: RCPT TO:

[2018-09-03 05:18:32] DEBUG [0rULO04aig] S: 250 2.1.0 ОК v186-v6sm24113856pgd.25 - gsmtp

[2018-09-03 05:18:32] DEBUG [0rULO04aig] C: RCPT TO:

[2018-09-03 05:18:32] DEBUG [PFhdqz3yHs] S: 250 2.1.5 ОК v72-v6sm36109733pfj.22 - gsmtp

[2018-09-03 05:18:32] ОТЛАДКА [PFhdqz3yHs] C: ДАННЫЕ

[2018-09-03 05:18:32] DEBUG [BlXN9zcX8Ak] S: 421 4,7,0 Временно Системная проблема. Попробуйте позже (10). x65-v6sm28504837pfk.140 - gsmtp

[2018-09-03 05:18:32] DEBUG [BlXN9zcX8Ak] Закрытие соединения с сервер использует "end"

[2018-09-03 05:18:32] ИНФОРМАЦИЯ [# 1] Соединение № 1 было закрыто

[2018-09-03 05:18:32] ОШИБКА [# 1] Ошибка пула для № 1: команда данных Сбой: 421 4.7.0 Временная системная проблема. Попробуйте позже (10). x65-v6sm28504837pfk.140 - gsmtp

[2018-09-03 05:18:32] Ошибка отправки ОШИБКИ: Сбой команды данных: 421 4.7.0 Временная системная проблема. Попробуйте позже (10). x65-v6sm28504837pfk.140 - gsmtp

[2018-09-03 05:18:32] DEBUG [gflzBwS1fc] S: 421 4.7.0 Временная система Проблема. Попробуйте позже (10). b203-v6sm1382852pfb.174 - gsmtp

Я не могу опубликовать полный код, поскольку программа проверки постоянно сообщает мне, что он неправильно отформатирован. Код соответствует правилам ESLint.

Позвольте мне опубликовать псевдокод:

forEach(users, key) =>
    getSQL
       create Users if no result found
         sendEmail(user)

Итак, настройки:

function Mailer(options) {
  this.options = options;
  that = this;
  this.transporter = nodemailer.createTransport({
    pool: true,
    maxConnections: 50,
    maxMessages: Infinity,
    debug: true,
    logger: true,
    connectionTimeout: 3000,
    host: config.mail.host,
    port: config.mail.port,
        secure: false,
        auth: {
          user: config.mail.username,
          pass: config.mail.password,
        },
  });
}
...