node node.js mailgun nodemailer

node.js - Enviando correos electrónicos usando el paquete Mailgun with NodeMailer



mailgun webmail (3)

Hace un par de días, me di cuenta de que Google ha cambiado la seguridad de las cuentas de gmail, particularmente por la posibilidad de enviar correos electrónicos desde aplicaciones. Después de buscar en Google por un tiempo no pude encontrar una solución para ello. Así que, recurrí al uso de Mailgun. Creé una cuenta y la habilité con la verificación de negocios. Sin embargo, todavía no puedo enviar correos electrónicos. Sigo recibiendo un error sobre la URL solicitada que no se encuentra. Sospecho que, como todavía no he configurado un dominio, no está seleccionando el dominio de mailgun que proporcionó de forma predeterminada. Alguien podría mostrarme cómo probar el envío de correos electrónicos usando Mailgun de NodeMailer indicando el nombre de la zona de pruebas proporcionado por mailgun.

gracias de antemano jose


Me funcionó, cuando agregué el dominio también al objeto de autenticación (no solo a api_key). Me gusta esto:

var auth = { auth: { api_key: ''key-12319312391'', domain: ''sandbox3249234.mailgun.org'' } };


Creé el transporte de Nodemailer para mailgun .

Aquí es cómo funciona.

Instala el paquete con npm install como lo haría con cualquier paquete, luego en un archivo vacío:

var nodemailer = require(''nodemailer''); var mg = require(''nodemailer-mailgun-transport''); // This is your API key that you retrieve from www.mailgun.com/cp (free up to 10K monthly emails) var auth = { auth: { api_key: ''key-1234123412341234'', domain: ''sandbox3249234.mailgun.org'' } } var nodemailerMailgun = nodemailer.createTransport(mg(auth)); nodemailerMailgun.sendMail({ from: ''[email protected]'', to: ''[email protected]'', // An array if you have multiple recipients. subject: ''Hey you, awesome!'', text: ''Mailgun rocks, pow pow!'', }, function (err, info) { if (err) { console.log(''Error: '' + err); } else { console.log(''Response: '' + info); } });

Reemplaza tu clave API con la tuya y cambia los detalles y ¡ya estás listo!


var nodemailer = require(''nodemailer''); // send mail with password confirmation var transporter = nodemailer.createTransport( { service: ''Mailgun'', auth: { user: ''[email protected]'', pass: ''XXXXXXXXXXXXXXXX'' } }); var mailOpts = { from: ''[email protected]'', to: ''[email protected]'', subject: ''test subject'', text : ''test message form mailgun'', html : ''<b>test message form mailgun</b>'' }; transporter.sendMail(mailOpts, function (err, response) { if (err) { //ret.message = "Mail error."; } else { //ret.message = "Mail send."; } });