#node.js #express
Вопрос:
Спасибо вам за ваше драгоценное время. Я использовал nodemailer для отправки почты в учетной записи Gmail.
const nodemailer = require('nodemailer');
var ejs = require("ejs");
const viewpath = __dirname '/template/';
var transporter = nodemailer.createTransport({
service: 'gmail',
host: 'smtp.gmail.com',
port: 465,
secure: true, // use SSL
auth: {
user: 'sample@gmail.com',
pass: 'passs'
},
});
ejs.renderFile(viewpath "test.ejs", { name: req.body.first_name }, function (err, data) {
if (err) {
console.log(err);
} else {
var mainOptions = {
from: 'sample@gmail.com', // sender address
to: 'mymail@gmail.com', // list of receivers
subject: 'Subject',
html: data
};
transporter.sendMail(mainOptions, function (err, info) {
if (err) {
console.log(err);
} else {
console.log('Message sent: ' info.response);
}
});
}
});
Появилась ошибка в консоли
[Ошибка: подключение ECONNREFUSED 142.251.10.108:465 в TCPConnectWrap.afterConnect [как завершенное] (net.js:1159:16) { ошибка: -4078, код: ‘ESOCKET’, системный вызов: ‘подключиться’, адрес: ‘142.251.10.108’, порт: 465, команда: ‘CONN’ }][1]
Ответ №1:
Возможно, ваш провайдер интернет-провайдера или сетевой провайдер заблокируют порт назначения 465, убедитесь, что вы получили доступ к этому порту и проверьте доступ к сети
→ telnet 142.251.10.108 465
Trying 142.251.10.108...
Connected to 142.251.10.108.
Escape character is '^]'.
→ telnet smtp.gmail.com 465
Trying 108.177.14.108...
Connected to smtp.gmail.com.
Escape character is '^]'.