Как правильно настроить SMTP-рассылку NodeMailer - PullRequest
0 голосов
/ 01 октября 2019

Мне нужно отправлять электронные письма, используя 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?

...