Send email from Express over SMTP

Send from an Express route with Nodemailer pointed at Unitpost. Keep the key in env, not in the repo.

What are the SMTP settings?

Hostsmtp.unitpost.com
Usernameunitpost(always this literal value)
PasswordYour Unitpost API key(must carry emails:send)
Port (STARTTLS)587(or 2587 if blocked)
Port (implicit TLS)465(or 2465 if blocked)
From addressAny address on a verified domain

How do I set it up?

  1. Install Nodemailer

    Shell
    npm install nodemailer
  2. Send from a route

    JavaScript
    import express from "express";
    import nodemailer from "nodemailer";
    
    const transporter = nodemailer.createTransport({
      host: "smtp.unitpost.com",
      port: 587,
      secure: false,
      requireTLS: true,
      auth: {
        user: "unitpost",
        pass: process.env.UNITPOST_API_KEY,
      },
    });
    
    const app = express();
    app.post("/send", async (_req, res) => {
      await transporter.sendMail({
        from: "you@yourdomain.com",
        to: "customer@example.com",
        subject: "Hello from Express",
        html: "<p>Sent via SMTP.</p>",
      });
      res.json({ ok: true });
    });
  3. Verify delivery

    Confirm in Activity.