Set up Strapi email over SMTP

Strapi's Email feature uses `sendmail` until you install a provider; for SMTP that's `@strapi/provider-email-nodemailer`, configured in `config/plugins.js` or `config/plugins.ts`. The Users & Permissions plugin needs its own fix: its account confirmation and reset password templates carry a **Shipper email** that defaults to `no-reply@strapi.io`, and Unitpost rejects that sender.

Need an API key?

SMTP password is a Unitpost API key with emails:send. Username is always unitpost.

  • 5,000 emails/month
  • 3 API keys
  • 5 sending domains
Get free SMTP key
  1. Create a send-only key

    In Unitpost, open Settings → SMTP and create a send-only key. Both defaultFrom and the Users & Permissions Shipper email need to be on a verified domain.

  2. Install the Nodemailer provider

    Shell
    npm install @strapi/provider-email-nodemailer --save
  3. Configure the email plugin

    providerOptions go to Nodemailer as they are: secure: false on port 587 upgrades with STARTTLS, and requireTLS: true refuses to continue without it. For port 465, set secure: true. Keep the key in .env as SMTP_PASSWORD.

    JavaScript
    // config/plugins.js
    module.exports = ({ env }) => ({
      email: {
        config: {
          provider: "nodemailer",
          providerOptions: {
            host: env("SMTP_HOST", "smtp.unitpost.com"),
            port: env.int("SMTP_PORT", 587),
            secure: false,
            requireTLS: true,
            auth: {
              user: env("SMTP_USERNAME", "unitpost"),
              pass: env("SMTP_PASSWORD"),
            },
          },
          settings: {
            defaultFrom: "no-reply@yourdomain.com",
            defaultReplyTo: "support@yourdomain.com",
          },
        },
      },
    });
  4. Restart and fix the shipper email

    Restart Strapi so it loads the provider. Then open Settings → Users & Permissions Plugin → Email templates, edit each template, and set Shipper email to an address on your verified domain.

  5. Send a test email

    Under Settings → Email plugin → Configuration, type a Recipient email under Test email delivery and click Send test email. Recent versions also have Test connection, which checks the SMTP login without sending.

Search docs and guides

Search the docs and product guides.