From f8ef57589f8426bfa4684a77e299d2495bbcb734 Mon Sep 17 00:00:00 2001 From: Mikhail Chechnev Date: Mon, 8 Aug 2022 15:49:20 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A6=D0=98=D0=A2=D0=9A-517=20-=20=D0=B2=20?= =?UTF-8?q?=D1=80=D0=B0=D1=81=D1=88=D0=B8=D1=80=D0=B5=D0=BD=D0=B8=D0=B8=20?= =?UTF-8?q?"=D0=A0=D0=B0=D1=81=D1=81=D1=8B=D0=BB=D0=BA=D0=B0=20E-Mail"=20?= =?UTF-8?q?=D1=80=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=BF=D0=BE=D0=B4=D0=B4=D0=B5=D1=80=D0=B6=D0=BA=D0=B0?= =?UTF-8?q?=20=D0=BF=D0=BE=D0=B2=D1=82=D0=BE=D1=80=D0=BD=D0=BE=D0=B9=20?= =?UTF-8?q?=D0=BE=D1=82=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20=D0=BF=D0=B8?= =?UTF-8?q?=D1=81=D0=B5=D0=BC=20=D1=81=20=D1=83=D1=87=D1=91=D1=82=D0=BE?= =?UTF-8?q?=D0=BC=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B5=D0=BA=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=B2=D1=82=D0=BE=D1=80=D0=BD=D0=BE=D0=B9=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20=D0=B2=20=D1=84?= =?UTF-8?q?=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B8=20=D1=81=D0=B5=D1=80=D0=B2?= =?UTF-8?q?=D0=B8=D1=81=D0=B0=20=D0=BE=D0=B1=D0=BC=D0=B5=D0=BD=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/send_mail.js | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/modules/send_mail.js b/modules/send_mail.js index 047e76e..bfb5c79 100644 --- a/modules/send_mail.js +++ b/modules/send_mail.js @@ -153,13 +153,32 @@ const before = async prms => { res = `Ошибка отправки E-Mail сообщения: ${makeErrorText(e)}`; } } - //Если имеется рег. номер записи очереди отправки E-mail - обновляем информацию о текущем сообщении - if (parseRes.mail.nExsextmailId) { - if (res === "OK") { - await setSendMsg({ connection: prms.dbConn.connection, nRn: parseRes.mail.nExsextmailId, sErrMsg: "", nStatus: NSTATUS_DONE }); - } else { - await setSendMsg({ connection: prms.dbConn.connection, nRn: parseRes.mail.nExsextmailId, sErrMsg: res, nStatus: NSTATUS_ERR }); + //Если сообщение отправилось + if (res === "OK") { + //Если имеется рег. номер записи очереди отправки E-mail - обновляем информацию о текущем сообщении + if (parseRes.mail.nExsextmailId) { + await setSendMsg({ + connection: prms.dbConn.connection, + nRn: parseRes.mail.nExsextmailId, + sErrMsg: "", + nStatus: NSTATUS_DONE + }); } + } else { + //Если количество попыток не указано или это последняя попытка + if (prms.queue.nRetryAttempts === 0 || (prms.queue.nRetryAttempts !== 0 && prms.queue.nExecCnt + 1 === prms.queue.nRetryAttempts)) { + //Если имеется рег. номер записи очереди отправки E-mail - обновляем информацию о текущем сообщении + if (parseRes.mail.nExsextmailId) { + await setSendMsg({ + connection: prms.dbConn.connection, + nRn: parseRes.mail.nExsextmailId, + sErrMsg: res, + nStatus: NSTATUS_ERR + }); + } + } + //Выдаем ошибку + throw new Error(res); } //Возвращаем результат и флаг того, что дальше отрабатывать это сообщение не надо return {