Estaba tratando de enviar un correo electrónico de prueba usando SMTP en el nodo de correo, pero dice que se agotó el tiempo de espera de la conexión. el fragmento que estaba usando está abajo.
const nodemailer = require("nodemailer"); async function main() { const nodemailer = require('nodemailer'); let transporter = nodemailer.createTransport({ pool:true, host: '213.55.96.132', port: 25, auth: { user: "user@ethionet.et", pass: "drafgthsjaid321##" }, pool: true, logger :true, debug:true, secure: false, }) transporter.verify(function(error, success) { if (error) { console.log(error); } else { console.log('Server is ready to take our messages'); } }); let mailOptions = { from: "user@ethionet.et", to: ["someemail@gmail.com",], subject: 'Test email', text: `Hello world` }; transporter.sendMail(mailOptions, function(err, data) { if (err) { console.log("Error " + err); } else { console.log("Email sent successfully"); } }); } main().catch(console.error);
No me importa filtrar las credenciales y funciona cuando intento enviar correos electrónicos a través de SMTP desde aquí . ¿por qué falla esto?
Necesita leer un poco más que la primera página de documentación :)
Crea tu mensaje
let message = { ..., from: 'mailer@nodemailer.com', // listed in rfc822 message header to: 'daemon@nodemailer.com', // listed in rfc822 message header envelope: { from: 'Daemon <deamon@nodemailer.com>', // used as MAIL FROM: address for SMTP to: 'mailer@nodemailer.com, Mailer <mailer2@nodemailer.com>' // used as RCPT TO: address for SMTP } }
Envía el mensaje a través del transportador.
transporter.sendMail(...).then(info=>{ console.log('Preview URL: ' + nodemailer.getTestMessageUrl(info)); });
Resulta que el problema era que mi ISP bloqueaba el puerto 25.