ЦИТК-758 - Разрешение работы с SMTP без TLS и аутентификации
This commit is contained in:
parent
7221fe1721
commit
cfbc440dc8
@ -77,10 +77,14 @@ let mail = {
|
||||
sHost: "smtp.mail.ru",
|
||||
//Порт сервера SMTP
|
||||
nPort: 465,
|
||||
//Использовать безопасное соединение SMTP (true - использование TLS/SSL, false - использование только в случае наличия STARTTLS)
|
||||
bSecure: true,
|
||||
//Имя пользователя SMTP-сервера
|
||||
sUser: "appserver@citk-parus.ru",
|
||||
//Пароль пользователя SMTP-сервера
|
||||
sPass: "",
|
||||
//Отображать ошибку о некорректном сертификате при проверке безопасности
|
||||
bRejectUnauthorized: true,
|
||||
//Наименование отправителя для исходящих сообщений
|
||||
sFrom: "'Сервис интеграции с WEB-API' <appserver@citk-parus.ru>"
|
||||
};
|
||||
|
@ -113,7 +113,7 @@ class Notifier extends EventEmitter {
|
||||
if (!message.bSent) {
|
||||
try {
|
||||
//Если всё в порядке с настройками
|
||||
if (this.mail.sHost && this.mail.nPort && this.mail.sUser && this.mail.sPass && this.mail.sFrom) {
|
||||
if (this.mail.sHost && this.mail.nPort && this.mail.sFrom && this.mail.hasOwnProperty('bSecure') && this.mail.hasOwnProperty('bRejectUnauthorized')) {
|
||||
//Отправляем
|
||||
await sendMail({
|
||||
mail: this.mail,
|
||||
|
@ -182,16 +182,24 @@ const sendMail = prms => {
|
||||
);
|
||||
//Если структура объекта в норме
|
||||
if (!sCheckResult) {
|
||||
//Параметры подключения к SMTP-серверу
|
||||
let transporter = nodemailer.createTransport({
|
||||
//Формируем параметры для подключения к SMTP
|
||||
let transpOptions = {
|
||||
host: prms.mail.sHost,
|
||||
port: prms.mail.nPort,
|
||||
secure: prms.mail.nPort == 465,
|
||||
auth: {
|
||||
secure: prms.mail.bSecure,
|
||||
tls: {
|
||||
rejectUnauthorized: prms.mail.bRejectUnauthorized
|
||||
}
|
||||
};
|
||||
//Если есть информация о пользователе - добавляем
|
||||
if (prms.mail.sUser) {
|
||||
transpOptions.auth = {
|
||||
user: prms.mail.sUser,
|
||||
pass: prms.mail.sPass
|
||||
}
|
||||
});
|
||||
}
|
||||
//Настраиваем подключение к SMTP-серверу
|
||||
let transporter = nodemailer.createTransport(transpOptions);
|
||||
//Параметры отправляемого сообщения
|
||||
let mailOptions = {
|
||||
from: prms.mail.sFrom,
|
||||
|
@ -356,6 +356,15 @@ const mail = new Schema({
|
||||
required: path => `Не указан порт сервера SMTP (${path})`
|
||||
}
|
||||
},
|
||||
//Использовать безопасное соединение STMP
|
||||
bSecure: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
message: {
|
||||
type: path => `Использование безопасного соединения SMTP (${path}) имеет некорректный тип данных (ожидалось - Boolean)`,
|
||||
required: path => `Не указано использование безопасного соединения SMTP (${path})`
|
||||
}
|
||||
},
|
||||
//Имя пользователя SMTP-сервера
|
||||
sUser: {
|
||||
type: String,
|
||||
@ -375,6 +384,15 @@ const mail = new Schema({
|
||||
required: path => `Не указан пароль пользователя SMTP-сервера (${path})`
|
||||
}
|
||||
},
|
||||
//Отображать ошибку о некорректном сертификате при проверке безопасности
|
||||
bRejectUnauthorized: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
message: {
|
||||
type: path => `Отображение ошибки о некорректном сертификате SMTP (${path}) имеет некорректный тип данных (ожидалось - Boolean)`,
|
||||
required: path => `Не указано отображение ошибки о некорректном сертификате (${path})`
|
||||
}
|
||||
},
|
||||
//Наименование отправителя для исходящих сообщений
|
||||
sFrom: {
|
||||
type: String,
|
||||
|
Loading…
x
Reference in New Issue
Block a user