En una aplicación web, el envío de correos es esencial.
En este caso utilizaremos nodemailer para enviar correos los cuales podrían aplicarse a distintos casos como registro, recuperación de contraseña, avisos, etc.
Pasos para envío de correos en NodeJS con nodemailer
Instalar nodemailer
1 |
npm install nodemailer --save |
Obtener datos del servidor de correo y manejarlos como variables de entorno
Para cuestiones de pruebas puedes utilizar algún servicio de SMTP fake como ethereal o mailtrap.
En caso contrario, deberías utilizar tus datos reales de SMTP y almacenarlos en tu archivo .env
Crear clase para abstracción de envío de correos
Crea una clase mail/index.js llamada Mailer con su constructor y un método sendMail().
No olvides exportar como módulo la instancia para aplicar un Singleton, ya que el transporter lo queremos instanciar sólo una vez
Crear transporter para conexión de SMTP
En el constructor ejecuta el método createTransport para definir todos los valores del SMTP y realizar la conexión.
Crear método para envío de correos
En el método sendMail() manipula los argumentos para enviar las opciones al método nativo sendMail e implementa el manejo de errores.
Usar el método en donde se requiera
En una ruta, un controlador o donde lo necesites, manda a llamar tu mailer.sendMail para comenzar con el envío de correos en NodeJS.
Este código en github
¿Te gustó este artículo?
Si te gustó este artículo, te ha servido o aprendiste algo nuevo; compártelo en tus redes sociales o invítame un cafe.