¿Cómo enviar un correo electrónico con Nodemailer usando una cuenta de Gmail en Node.js?

Nodemailer es el módulo npm de Node.js que permite enviar correos electrónicos fácilmente. En este artículo, cubriremos cada paso para enviar correos electrónicos utilizando la cuenta de Gmail con la ayuda de nodemailer. 

Instalaciones: Vaya a la carpeta del proyecto y use el siguiente comando.

  • Cree un archivo package.json.
npm init -y
  • Instalar nodemailer
npm install nodemailer -S
  • Cree el archivo server.js directamente o use el comando
touch server.js

Acercarse:

  • Incluya el módulo nodemailer en el código usando require(‘nodemailer’).
  • Use la función nodemailer.createTransport() para crear un transportador que enviará el correo. Contiene el nombre del servicio y los detalles de autenticación (usuario y contraseña).
  • Declare una variable mailDetails que contenga el ID de correo electrónico del remitente y el destinatario, el asunto y el contenido del correo.
  • Utilice la función mailTransporter.sendMail() para enviar correos electrónicos del remitente al destinatario. Si el envío del mensaje falló o contiene un error, se mostrará el mensaje de error; de lo contrario, el mensaje se enviará correctamente.

Ejemplo: 

javascript

const nodemailer = require('nodemailer');
 
 
let mailTransporter = nodemailer.createTransport({
    service: 'gmail',
    auth: {
        user: 'xyz@gmail.com',
        pass: '*************'
    }
});
 
let mailDetails = {
    from: 'xyz@gmail.com',
    to: 'abc@gmail.com',
    subject: 'Test mail',
    text: 'Node.js testing mail for GeeksforGeeks'
};
 
mailTransporter.sendMail(mailDetails, function(err, data) {
    if(err) {
        console.log('Error Occurs');
    } else {
        console.log('Email sent successfully');
    }
});

Ahora abra el enlace https://myaccount.google.com/lesssecureapps para Permitir aplicaciones menos seguras: ON . Luego use el comando node server.js para ejecutar el código anterior. Enviará el correo electrónico utilizando la cuenta de Gmail. 

Producción:

  • Terminal para ejecutar código: 

  • Correo enviado:

 

Nota 1: Para usar este código en cualquier archivo solo tenemos que importar este archivo y llamar a la función send().

var mail = require('./config/mailer')();
mail.send();

Nota 2: para enviar texto con formato HTML en su correo electrónico, use la propiedad «html» en lugar de la propiedad «texto» en la función sendMail.

{ from:'"admin" ',
  to: "user@gmail.com",
  subject:'GeeksforGeeks Promotion',
  html:' <p> html code </p>'
}

Nota 3: Para enviar un correo electrónico a más de un destinatario, agréguelos a la propiedad «para» en la función sendMail, separados por comas.

{ de:’”administrador” ‘, 

a: ” usuario1@gmail.com, usuario2@gmail.com, usuario3@yahoo.in “, 

subject:’Promoción GeeksforGeeks’, 

text:’Consulte GeeksforGeeks’+’el mejor sitio para prepararse para entrevistas y exámenes competitivos.’ 

}

Publicación traducida automáticamente

Artículo escrito por pratyushranjan14 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 *