Intro
So we installed NodeJS on our machine.
We also know How to Get External Packages.
Now we want to learn how to send an email using nodemailer.
Write a simple script
- Open your terminal
- Create a file named
index.js
:
touch index.js
- Add this JavaScript code into it:
// import nodemailer (after npm install nodemailer)
const nodemailer = require("nodemailer");
// config for mailserver and mail, input your data
const config = {
mailserver: {
host: "smtp.ethereal.email",
port: 587,
secure: false,
auth: {
user: "yutfggtgifd7ixet@ethereal.email",
pass: "tX29P4QNadD7kAG7x5",
},
},
mail: {
from: "foo@example.com",
to: "bar@example.com",
subject: "Hey",
text: "Testing Nodemailer",
},
};
const sendMail = async ({ mailserver, mail }) => {
// create a nodemailer transporter using smtp
let transporter = nodemailer.createTransport(mailserver);
// send mail using transporter
let info = await transporter.sendMail(mail);
console.log(`Preview: ${nodemailer.getTestMessageUrl(info)}`);
};
sendMail(config).catch(console.error);
Note: Nodemailer has a lot of available settings, therefore read the docs of nodemailer.
Run it from the terminal
- Run it:
node index.js
- Result:
Preview: https://ethereal.email/message/XWk2jZDkEStePsCvXWk60Yf74VUAhgNZAAAACQqQo2lpzFsxaciWAqd9ZjY
Further Reading
Questions
- What is your favorite way/package to send mails in Node?
- Do you automate some tasks with node emails?