Error TLSSocket.onConnectSecure intentando enviar correo electrónico desde Hotmail con Nodemailer.
Estoy intentando usar nodemailer con hotmail para enviar correo electrónico. Al probar desde Postman, obtengo el siguiente error:
Microsoft Windows [Versión 10.0.19041.1348]
(c) Microsoft Corporation. Todos los derechos reservados.
D:\node_apps\subscription-api>node subApp.js
Aplicación en ejecución en el puerto: 8080
D:\node_apps\subscription-api\subApp.js:139
if(error) throw error;
^
Error: self signed certificate in certificate chain
at TLSSocket.onConnectSecure (_tls_wrap.js:1514:34)
at TLSSocket.emit (events.js:400:28)
at TLSSocket._finishInit (_tls_wrap.js:936:8)
at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:708:12) {
code: ‘ESOCKET’,
command: ‘CONN’
}
D:\node_apps\subscription-api>
Mi código se ve así:
app.get(‘/api/v1/sendsubexpnotice/:email’,function(req,res){
let email = req.params.email;
if(!email){
return res.status(400).send({error: true, message: ‘Por favor proporcione un correo electrónico’});
}
const transporter = nodemailer.createTransport({
service:’hotmail’,
auth:{
user: ‘xxxxxxxxxx@hotmail.com’,
pass: ‘xxxxxxxxxxx’
}
});
const mailOptions = {
from :’xxxxxxxxxxxxxx@hotmail.com’,
to: email,
subject: ‘¡Su suscripción está a punto de caducar!’,
text : ‘¡Su suscripción está a punto de caducar!’
};
transporter.sendMail(mailOptions,function(error,info){
if(error) throw error;
return res.send({error:false, data: results, message: ‘OK’});
})
})
¿Qué hago para solucionar este error?
¿Cómo logro enviar el correo electrónico? Agradeceré su consejo.
davy.ai
Parece que tiene un problema con un certificado autofirmado. Puede intentar establecer la opción
rejectUnauthorized
enfalse
al crear el transportador:Esto debería permitir establecer la conexión, pero no se recomienda para entornos de producción.