¿Cómo enviar archivos adjuntos y correos electrónicos usando nodemailer en Node.js?

Para ello, utilizaremos un paquete llamado nodemailer . Es un módulo que hace que el envío de correo electrónico sea bastante fácil. Para usarlo, deberá instalarlo usando el siguiente comando: 
 

$ npm install nodemailer

Características del módulo nodemailer: 
 

  • Tiene cero dependencias y mucha seguridad.
  • Puede usarlo sin problemas, ya sea en Azure o en Windows.
  • También viene con soporte de complemento personalizado para manipular mensajes.

Para enviar un correo electrónico, cree un archivo llamado index.js y escriba el siguiente código: 
Nombre de archivo: index.js 
 

javascript

var nodemailer = require("nodemailer");
 
var sender = nodemailer.createTransport({
  service: 'gmail',
  auth: {
    user: 'username@gmail.com',
    pass: 'your_password'
  }
});
 
var mail = {
  from: "username@gmail.com",
  to: "receiver's_username@gmail.com",
  subject: "Sending Email using Node.js",
  text: "That was easy!"
};
 
sender.sendMail(mail, function(error, info) {
  if (error) {
    console.log(error);
  } else {
    console.log("Email sent successfully: "
                 + info.response);
  }
});

Pasos para ejecutar este programa: Para ejecutar este archivo, simplemente Git Bash en su directorio de trabajo y escriba el siguiente comando: 
 

$ nodemon index.js

Si no tiene instalado Nodemon, simplemente ejecute el siguiente comando: 
 

$ node index.js

Para verificar su funcionamiento, puede ir al correo del destinatario y recibirá el siguiente correo como se muestra a continuación: 
 

¿Qué pasa si tienes múltiples receptores?  
Bueno, en ese caso, simplemente agregue el siguiente código en su función de correo: 
 

to: 'first_username@gmail.com, second_username@gmail.com'

¿Qué sucede si desea enviar texto con formato HTML al receptor?  
Bueno, en ese caso, simplemente agregue el siguiente código en su función de correo: 
 

html: "<h1>GeeksforGeeks</h1><p>I love geeksforgeeks</p>"

¿Qué sucede si desea enviar un archivo adjunto al receptor?  
Bueno, en ese caso, simplemente agregue el siguiente código en su función de correo: 
 

attachments: [
    {
      filename: 'mailtrap.png',
      path: __dirname + '/mailtrap.png',
      cid: 'uniq-mailtrap.png' 
    }
  ]

El archivo index.js final tiene este aspecto: 
Nombre de archivo: index.js 
 

javascript

var nodemailer = require("nodemailer");
 
var sender = nodemailer.createTransport({
    service: 'gmail',
    auth: {
        user: 'username@gmail.com',
        pass: 'your_password'
    }
});
 
var mail = {
    from: 'username@gmail.com',
    to:
'first_username@gmail.com, second_username@gmail.com',
    subject: 'Sending Email using Node.js',
    text: 'That was easy!',
  html:
"<h1>GeeksforGeeks</h1>
<p>I love geeksforgeeks</p>
",
  attachments: [
        {
            filename: 'mailtrap.png',
            path: __dirname + '/mailtrap.png',
            cid: 'uniq-mailtrap.png'
        }
    ]
};
 
sender.sendMail(mail, function (error, info) {
    if (error) {
        console.log(error);
    } else {
        console.log('Email sent successfully: '
                + info.response);
    }
});

Publicación traducida automáticamente

Artículo escrito por MohdArsalan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *