Мне нужно отправлять электронные письма, используя Node.JS, и до сих пор использовал NodeMailer с Gmail в качестве службы. Однако теперь я должен использовать учетную запись не из Gmail, чтобы продолжить. Я получил следующие данные о новом аккаунте: (Я немного отредактировал его для этой темы, чтобы удалить конфиденциальную информацию)
Адрес электронной почты: no-reply@service.co.za
Учетная запись / имя пользователя: no-reply@service.co.za
Пароль: 1234
Входящийсервер: mail.service.co.za
Исходящий (SMTP) сервер: smtp.service.co.za
SMTP-аутентификация: Вкл (имя пользователя совпадает с именем входящего)
Порт SMTP: 587
Мой код выглядит следующим образом:
let transporter = nodemailer.createTransport({
host: 'smtp.service.co.za',
port: 587,
secure: false,
auth: {
user: 'no-reply@service.co.za',
pass: '1234'
}
});
const mailOptions = {
from: 'Company <no-reply@service.co.za>',
to: "john@gmail.com",
};
Позже в моем кодеЯ добавляю темы и тела в электронное письмо, в зависимости от функции, и отправляю его. Я получаю следующую ошибку:
Ошибка: имя хоста / IP не совпадает с альтернативными именами сертификата: «Хост: smtp.service.co.za. Не входит в альтернативные имена сертификата: DNS: *. Jnb1.host-h.net "
Я пробовал довольно много решений в других темах относительно этой проблемы. Единственное, что работает, - это добавление:
tls: {
rejectUnauthorized: false
},
Но это, очевидно, приводит к тому, что электронная почта становится небезопасной, что для меня не является приемлемым решением. Так может кто-нибудь сказать мне, как правильно использовать все данные новой учетной записи, предоставленной мне, чтобы настроить функцию безопасной отправки SMTP по электронной почте с помощью NodeMailer?