Fast integration & reliable delivery
Integrate email sending into your Node.js app in minutes with a simple API. Sidemail ensures your emails reach inboxes reliably, with built‑in deliverability best practices.
Get startedRead API docsawait sidemail.sendEmail({
toAddress: user.email,
fromAddress: "[email protected]",
fromName: "Your App",
templateName: "Welcome",
templateProps: {
firstName: user.name,
},
});Get up and running with Sidemail in three simple steps:
Add Sidemail to your project via npm:
npm install sidemailImport and initialize Sidemail with your API key. The SDK will read SIDEMAIL_API_KEY from your environment, or you can pass it directly.
const configureSidemail = require("sidemail");
const sidemail = configureSidemail({
apiKey: process.env.SIDEMAIL_API_KEY,
});Call the sidemail.sendEmail method with your email details (recipient, sender, template or content, etc.). That’s it – your Node.js app sends the email through Sidemail’s API.
// Example: send a welcome email template
await sidemail.sendEmail({
toAddress: "user.email",
fromAddress: "[email protected]",
fromName: "Your App",
templateName: "Welcome", // template stored in Sidemail
templateProps: { firstName: "Alice" } // dynamic data for the template
});Key features & perks
With Sidemail, you can send any transactional emails. Here are a few examples with Node.js code:
// Node.js: Send an account verification email
await sidemail.sendEmail({
toAddress: user.email,
fromAddress: "[email protected]",
fromName: "Your App",
templateName: "Email Verification",
templateProps: {
// e.g. a unique verification URL or code for the user
verifyUrl: `https://yourapp.com/verify/token=${token}`
}
});Send a sign-up verification email with a one-time link or code to confirm the user’s address.
// Node.js: Send a payment receipt email
await sidemail.sendEmail({
toAddress: user.email,
fromAddress: "[email protected]",
fromName: "Your App",
templateName: "Payment Receipt",
templateProps: {
userName: user.name,
amount: "$19.99",
date: new Date().toLocaleDateString()
}
});Send a receipt, invoice, or generic notification to your user.
templateProps to populate the template.// Node.js: Schedule a welcome email for 1 hour from now
const scheduledAt = new Date(Date.now() + 60 * 60 * 1000).toISOString();
await sidemail.sendEmail({
toAddress: "[email protected]",
fromAddress: "[email protected]",
fromName: "Your App",
templateName: "Welcome",
templateProps: { firstName: "Alex" },
scheduledAt: scheduledAt,
});Schedule a welcome email to be sent later, for example one hour after sign-up.
scheduledAt field with an ISO timestamp to control exactly when the email is sent.// Node.js: Send a password reset email with markdown
const fs = require("fs");
const path = require("path");
const markdown = fs.readFileSync(
path.join(__dirname, "templates/emails/password-reset.md"),
"utf8"
);
// Subject and sender are defined in the markdown frontmatter
await sidemail.sendEmail({
toAddress: "[email protected]",
markdown: markdown,
templateProps: {
firstName: "Alex",
resetLink: "https://yourapp.com/reset?token=abc123xyz",
expiresIn: "30 minutes",
},
});Sidemail's API gives you an option to write email content in Markdown, which is automatically transformed into into pixel‑perfect, responsive emails that look great in every inbox and on every device. Each email is branded with your logo and styled to match your project's email design.
.md file, keep sender and subject in frontmatter.templateProps(such as resetLink and expiresIn), which map directly to variables in your markdown.Deliverability best practices
SPF and DKIM are authentication protocols that verify your emails are legitimately sent from your domain. And DMARC builds on both by instructing mail servers how to handle messages that fail those checks. Together, they are 3 critical factors for inbox delivery and sender reputation.
Sidemail automatically handles SPF, DKIM, and DMARC setup for you, so your Node.js app sends authenticated, best‑practice‑compliant emails from day one.




The simplest way to build emails
Sidemail's no‑code email editor is the easiest way to create responsive email templates that render correctly across every client and device. No HTML knowledge required. Add your logo and brand colors, and you're ready to send.
Need to move even faster? Sidemail has a library of production‑ready templates for the most common use cases – password resets, welcome emails, receipts, and more. Whether you're building from scratch or customizing a premade template, we guarantee your emails look great everywhere, every time.
Learn moreDeveloper‑friendly formatting
Writing and maintaining HTML emails by hand is tedious, especially when you just want to send clean, readable content.
Sidemail lets you write your email body in Markdown and automatically converts it into a responsive, well‑styled HTML email. You get smart formatting, like headings, lists, links, and code blocks, without worrying about broken layouts or cross‑client rendering issues.
This is ideal for transactional emails generated from your Node.js app – clean content, fast authoring, and zero HTML to debug.
Learn more
Ready to send transactional emails from your Node.js app? With Sidemail’s API and templates, you can integrate in minutes and send emails reliably.
Start free trialThe easiest way to send email in Node.js is by using an email API like Sidemail. First, install the Sidemail SDK (npm install sidemail) and initialize it with your API key. Then use the sendEmail() method to send transactional or templated emails with only a few lines of code. No SMTP setup or server config required. Sidemail handles authentication, formatting, and deliverability for you, so you can focus on building your app.
Instead of hard-coding email HTML in Node.js, you can use Sidemail transactional email templates. In the Sidemail dashboard, choose a pre-built template (for example, a welcome email or password reset) or create your own with the drag-and-drop editor. Then in Node.js, send emails by referencing templateName and providing templateProps for personalization. For example, if you have template "Order Confirmation" with variables like {customerName} and {orderTotal} you can call sidemail.sendEmail(...) with those values. Sidemail merges the data and delivers a nicely formatted email. This keeps your emails consistently styled and saves you from dealing with HTML email rendering quirks.
Yes. Sidemail supports email attachments in Node.js. You can attach files by reading the file in Node (as a Buffer or Base64 string) and including it in the attachments array of the email payload. The Sidemail SDK provides helper fileToAttachment(name, data) to create the attachment object easily. Keep attachments fairly small (under about 2.5 MB total) and use allowed file types (for example PDF, PNG, JPG, CSV). Large files should be shared via a link for better performance.
With Sidemail, sending HTML emails is easy. The recommended way is to use the Sidemail template system for the best results across different email clients. If you need to send a fully custom HTML email, pass your HTML string to the html field in sidemail.sendEmail() (and optionally include a text version for plain text).
Yes. Sidemail supports scheduled email delivery. To schedule an email, include scheduledAt in your API request with a future time in ISO 8601 format, for example 2026-03-15T09:00:00Z. Sidemail queues the message and sends it automatically at that time. You can view or cancel scheduled emails from your dashboard or via the API. This makes it easy to prepare emails ahead of time and deliver them exactly when needed without managing your own scheduler or background jobs.