Nodemailer setup on NodeJS Express MongoDB

"dependencies": {
    "dotenv": "^10.0.0",
    "express": "^4.17.1",
    "mongoose": "^6.0.11",
    "nodemailer": "^6.7.0"

SMTP Transport

config/mail.js

mailtrap.io is free email checker for developers.

const nodemailer = require('nodemailer')
require('dotenv').config()

module.exports = nodemailer.createTransport({
    host: process.env.CURRENT_ENVIRONMENT == "development" ? "smtp.mailtrap.io" : "",
    port: 587,
    secure: false, // upgrade later with STARTTLS
    auth: {
      user: process.env.SMTP_USERNAME,  //from .env
      pass: process.env.SMTP_PASSWORD
    },
  })


Message configuration

utils/sendmail.js
const transporter = require('../config/mail')

module.exports = (({from, to, subject, text, html}) => {  
    var message = {
        from: from,
        to: to,
        subject: subject,
        text: text,
        html: html
    };  
   
    transporter.sendMail(message)  
})







Comments

Popular posts from this blog

Multer file upload and delete - Nodejs, Mongodb, Express

Money Management

Sub array quest IX