"Client network socket disconnected before secure TLS connection was established" error in nodemailer

Viewed 602

I want to setup contact form, that's why I am using node mailer and postman for testing purpose but, i am receiving this error

Client network socket disconnected before secure TLS connection was established

Here is my code:

const transporter = nodemailer.createTransport({
  host: 'smtp.itcarver.com',
  port: 587,
  secure: false, 
  auth: { user: 'support@itcarver.com', pass: 'xyz' },
  tls: { rejectUnauthorized: false }
});

const mailOptions = {
  from: 'support@itcarver.com', 
  to: "xyz", 
  subject: "subject", 
  text: "test", 
};
transporter.sendMail(mailOptions, function(error, info) {
  if (error) {
    console.log(error)
    res.send("error");
  } else {
    res.send('Email sent: ');
  }
});

And here is the error:

Error: Client network socket disconnected before secure TLS connection was established
    at connResetException (internal/errors.js:604:14)
    at TLSSocket.onConnectEnd (_tls_wrap.js:1513:19)
    at Object.onceWrapper (events.js:417:28)
    at TLSSocket.emit (events.js:323:22)
    at endReadableNT (_stream_readable.js:1204:12)
    at processTicksAndRejections (internal/process/task_queues.js:84:21) {
  code: 'ESOCKET',
  path: undefined,
  host: 'smtp.itcarver.com',
  port: undefined,
  localAddress: undefined,
  command: 'CONN'
}
1 Answers

You may need to set tls maxVersion to some other than default (which is TLSv1.3). It was necessary in my case.

        tls: { maxVersion: 'TLSv1.2' }
Related