Параметры конфигурации подключения к SMTP-серверу (sHost, nPort, sUser, sPass, sFrom) сделаны необязательными
This commit is contained in:
parent
021e39e3ac
commit
23436286d5
@ -10,7 +10,7 @@
|
||||
const _ = require("lodash"); //Работа с массивами и коллекциями
|
||||
const EventEmitter = require("events"); //Обработчик пользовательских событий
|
||||
const { ServerError } = require("./server_errors"); //Типовая ошибка
|
||||
const { SERR_OBJECT_BAD_INTERFACE } = require("./constants"); //Общесистемные константы
|
||||
const { SERR_OBJECT_BAD_INTERFACE, SERR_MAIL_FAILED } = require("./constants"); //Общесистемные константы
|
||||
const { makeErrorText, validateObject, sendMail } = require("./utils"); //Вспомогательные функции
|
||||
const prmsNotifierSchema = require("../models/prms_notifier"); //Схемы валидации параметров функций класса
|
||||
|
||||
@ -112,6 +112,8 @@ class Notifier extends EventEmitter {
|
||||
//Работаем только по неотправленным уведомлениям
|
||||
if (!message.bSent) {
|
||||
try {
|
||||
//Если всё в порядке с настройками
|
||||
if (this.mail.sHost && this.mail.nPort && this.mail.sUser && this.mail.sPass && this.mail.sFrom) {
|
||||
//Отправляем
|
||||
await sendMail({
|
||||
mail: this.mail,
|
||||
@ -123,6 +125,12 @@ class Notifier extends EventEmitter {
|
||||
await this.logger.info(`Сообщение с темой "${message.sSubject}" отпрвлено ${message.sTo}`);
|
||||
//Говорим, что отправлено
|
||||
message.bSent = true;
|
||||
} else {
|
||||
throw new ServerError(
|
||||
SERR_MAIL_FAILED,
|
||||
'Не указаны параметры подключения к SMTP-сервереру (проверьте секцию "mail" в файле конфигурации)'
|
||||
);
|
||||
}
|
||||
} catch (e) {
|
||||
await this.logger.error(
|
||||
`Ошибка отправки сообщения с темой "${message.sSubject}" для ${message.sTo}: ${makeErrorText(
|
||||
|
@ -208,7 +208,7 @@ const mail = new Schema({
|
||||
//Адреc сервера SMTP
|
||||
sHost: {
|
||||
type: String,
|
||||
required: true,
|
||||
required: false,
|
||||
message: {
|
||||
type: path => `Адреc сервера SMTP (${path}) имеет некорректный тип данных (ожидалось - String)`,
|
||||
required: path => `Не указан aдреc сервера SMTP (${path})`
|
||||
@ -217,7 +217,7 @@ const mail = new Schema({
|
||||
//Порт сервера SMTP
|
||||
nPort: {
|
||||
type: Number,
|
||||
required: true,
|
||||
required: false,
|
||||
message: {
|
||||
type: path => `Порт сервера SMTP (${path}) имеет некорректный тип данных (ожидалось - Number)`,
|
||||
required: path => `Не указан порт сервера SMTP (${path})`
|
||||
@ -226,7 +226,7 @@ const mail = new Schema({
|
||||
//Имя пользователя SMTP-сервера
|
||||
sUser: {
|
||||
type: String,
|
||||
required: true,
|
||||
required: false,
|
||||
message: {
|
||||
type: path => `Имя пользователя SMTP-сервера (${path}) имеет некорректный тип данных (ожидалось - String)`,
|
||||
required: path => `Не указано имя пользователя SMTP-сервера (${path})`
|
||||
@ -235,7 +235,7 @@ const mail = new Schema({
|
||||
//Пароль пользователя SMTP-сервера
|
||||
sPass: {
|
||||
type: String,
|
||||
required: true,
|
||||
required: false,
|
||||
message: {
|
||||
type: path =>
|
||||
`Пароль пользователя SMTP-сервера (${path}) имеет некорректный тип данных (ожидалось - String)`,
|
||||
@ -245,7 +245,7 @@ const mail = new Schema({
|
||||
//Наименование отправителя для исходящих сообщений
|
||||
sFrom: {
|
||||
type: String,
|
||||
required: true,
|
||||
required: false,
|
||||
message: {
|
||||
type: path =>
|
||||
`Наименование отправителя для исходящих сообщений (${path}) имеет некорректный тип данных (ожидалось - String)`,
|
||||
|
Loading…
x
Reference in New Issue
Block a user