![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
format-mail
Advanced tools
Formatter for email, making your email look beautiful! 😍
Format-Mail is a simple Node.js module for formatting email contents. With this module, you can add images, headings, and styles to your email to make it visually appealing. It is specifically designed for use with Nodemailer, a popular email sending library.
npm install format-mail@latest
Or, if you prefer using Yarn:
yarn add format-mail@latest
'use strict';
const nodemailer = require('nodemailer');
const { emailFormatter, HTMLTags } = require('format-mail');
const transporter = nodemailer.createTransport({
host: 'smtp.forwardemail.net',
port: 465,
secure: true,
auth: {
// TODO: Replace `user` and `pass` values from <https://forwardemail.net>
user: 'REPLACE-WITH-YOUR-ALIAS@YOURDOMAIN.COM',
pass: 'REPLACE-WITH-YOUR-GENERATED-PASSWORD',
},
});
// async..await is not allowed in the global scope, so we wrap the code in an async function
async function main() {
// Send mail with the defined transport object
const info = await transporter.sendMail({
from: '"Fred Foo 👻" <foo@example.com>', // Sender address
to: 'bar@example.com, baz@example.com', // List of receivers
subject: 'Hello ✔', // Subject line
text: 'Hello world?', // Plain text body
html: `${emailFormatter.bold('Hello world?')}\n${HTMLTags.heading1(
'Hello world!',
'text-align: center',
'display: flex',
'justify-contents: center',
'align-items: center'
)}`, // HTML body with formatted text and basic styles
});
console.log('Message sent: %s', info.messageId);
// Output: Message sent: <b658f8ca-6296-ccf4-8306-87d57a0b4321@example.com>
//
// NOTE: You can go to https://forwardemail.net/my-account/emails to see the delivery status and preview of your email.
// Alternatively, you can use the "preview-email" npm package to preview emails locally in browsers and iOS Simulator.
// Check out the repository at <https://github.com/forwardemail/preview-email>.
//
}
main().catch(console.error);
import * as nodemailer from 'nodemailer';
import { emailFormatter, HTMLTags } from 'format-mail';
const transporter = nodemailer.createTransport({
host: 'smtp.forwardemail.net',
port: 465,
secure: true,
auth: {
// TODO: Replace `user` and `pass` values from <https://forwardemail.net>
user: 'REPLACE-WITH-YOUR-ALIAS@YOURDOMAIN.COM',
pass: 'REPLACE-WITH-YOUR-GENERATED-PASSWORD',
},
});
async function main() {
const info = await transporter.sendMail({
from: '"Fred Foo 👻" <foo@example.com>', // Sender address
to: 'bar@example.com, baz@example.com', // List of receivers
subject: 'Hello ✔', // Subject line
text: 'Hello world?', // Plain text body
html: `${emailFormatter.bold('Hello world?')}\
n${HTMLTags.heading1(
'Hello world!',
'text-align: center',
'display: flex',
'justify-contents: center',
'align-items: center'
)}`, // HTML body with formatted text and basic styles
});
console.log('Message sent: %s', info.messageId);
// Output: Message sent: <b658f8ca-6296-ccf4-8306-87d57a0b4321@example.com>
//
// NOTE: You can go to https://forwardemail.net/my-account/emails to see the delivery status and preview of your email.
// Alternatively, you can use the "preview-email" npm package to preview emails locally in browsers and iOS Simulator.
// Check out the repository at <https://github.com/forwardemail/preview-email>.
//
}
main().catch(console.error);
Feel free to explore the Format-Mail module and unleash your creativity in formatting beautiful emails! 😊🎉
FAQs
Formatter for email, make your email looks beautiful!
We found that format-mail demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.