Я пытаюсь написать скрипт, который отправляет данные формы на электронную почту. Я пытаюсь использовать Express и Nodemailer с node js. Я только новичок и не могу понять, почему он останавливает авторизацию почты и отправляет письма
Мой код:
const express = require('express');
const bodyParser = require('body-parser');
const mailer = require('./nodemailer');
const app = express();
const PORT = 3001;
let user;
app.use(bodyParser.urlencoded({ extended: false }));
app.post('/index', (req, res) => {
if (!req.body.name || !req.body.phone) return res.sendStatus(400);
const message = {
to: '*****2020@mail.ru',
subject: 'Congratulations! You are successfully registred on our site',
text: `<h2>Поздравляем, Вы успешно зарегистрировались на нашем сайте! Данное письмо не требует ответа.<h2>
<ul>
<li>login: ${req.body.name}</li>
<li>password: ${req.body.phone}</li>
</ul> `,
};
mailer(message);
user = req.body;
console.log(req.body);
res.redirect('/index');
});
app.get('/index', (req, res) => {
if (typeof user !== 'object') return res.sendFile(`${__dirname}/dist/index.html`);
res.send(`Заявка принята!`);
user = undefined;
});
app.listen(PORT, () => console.log(`server listening at http://localhost:${PORT}/index`));
const nodemailer = require('nodemailer');
const transporter = nodemailer.createTransport(
{
host: 'smtp.gmail.com',
port: 587,
secure: false, // true for 465, false for other ports
auth: {
user: '******', //
pass: '****', //
},
},
{
from: 'Mailer Test <****2020@mail.ru>',
},
);
const mailer = message => {
transporter.sendMail(message, (err, info) => {
if (err) return console.log(err);
console.log('Email sent: ', info);
});
};
module.exports = mailer;
Когда я отправляю данные, они у меня в терминале , но когда я хочу отправить его на почту, я получаю сообщение об ошибке:
{ Error: self signed certificate in certificate chain
at TLSSocket.onConnectSecure (_tls_wrap.js:1058:34)
at TLSSocket.emit (events.js:198:13)
at TLSSocket._finishInit (_tls_wrap.js:636:8) code: 'ESOCKET', command: 'CONN' }```