У меня возникают проблемы, когда я делаю зацикленный вызов функции отправки электронной почты 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,
},
});
}