Ошибка: подключение с использованием ECONNREFUSED 142.251.10.108:465 ejs-рендеринга Nodemailer | localhost

#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 '^]'.