Skip to content

Email & newsletters

Email in Astropress covers two distinct jobs, and the right tool for each is different:

  • Newsletter / campaign email — bulk sends to a subscriber list, with open tracking, unsubscribe links, and campaign analytics → use Listmonk
  • Transactional email — triggered one-to-one messages like password resets, order confirmations, and account notifications → use Resend or any SMTP relay

You can enable both at the same time: astropress add --email listmonk --transactional-email smtp.

Listmonk is a self-hosted newsletter and mailing list manager. It handles subscriber imports, double opt-in, HTML/plain-text templates, campaign scheduling, open/click tracking, and unsubscribe compliance. It does not handle transactional email.

Attribute Detail
Licence MIT
Hosting Self-hosted (Docker, ~200 MB RAM)
Cost Free (server cost only)
SMTP Bring your own SMTP server (Postal, Brevo SMTP, etc.)
Terminal window
# Add to new project
astropress new my-site --email listmonk
# Add to existing project
astropress add --email listmonk

After scaffolding, see SERVICES.md for Docker Compose setup and LISTMONK.md for integration steps.

When it’s the right choice: you want full control over your subscriber data, your newsletter history, and your send infrastructure. Listmonk is the privacy-respecting default and the only option that keeps all subscriber data on your server.

Limitations:

  • Requires running a persistent Docker container (Listmonk + PostgreSQL)
  • You are responsible for SMTP deliverability (SPF, DKIM, DMARC records)
  • No built-in email-sending — you must point Listmonk at an SMTP server

Further reading: listmonk.app · listmonk.app/docs

Transactional email (password resets, receipts, notifications) needs reliable delivery to individuals. Newsletter tools are not designed for this — use a dedicated transactional service.

Resend is a hosted transactional email service with a simple API and first-party Node tooling.

Attribute Detail
Licence Hosted service
Hosting Resend cloud
Cost Provider-managed pricing
Setup Sign up → create API key → paste into .env
Terminal window
astropress add --transactional-email resend

When it’s the right choice: you want the simplest Astropress integration with a dedicated transactional-email API and managed deliverability.

Limitations:

  • Your send data is on a third-party provider
  • Provider pricing and region controls are external to Astropress
  • You are still responsible for verifying your sending domain

Further reading: resend.com

Astropress also supports a generic SMTP contract. This works with self-hosted Postal, Brevo SMTP, Amazon SES SMTP, Mailgun SMTP, Postmark SMTP, and similar relays.

Attribute Detail
Licence Varies by provider
Hosting Your SMTP relay
Cost Varies by provider
Setup Set SMTP_HOST, SMTP_PORT, SMTP_USERNAME, SMTP_PASSWORD, and SMTP_FROM_EMAIL
Terminal window
astropress add --transactional-email smtp

When it’s the right choice: you want one generic config shape that can target a self-hosted relay or a hosted SMTP provider without changing Astropress code.

Limitations:

  • Deliverability depends on the relay you choose
  • Self-hosting Postal still requires DNS work and usually a dedicated IP for good deliverability
  • Hosted SMTP providers have their own limits, pricing, and compliance requirements

Examples: Postal, Brevo SMTP, Amazon SES SMTP, Mailgun SMTP, Postmark SMTP

A common setup for full self-hosting:

  • Listmonk for newsletter campaigns → sends via your SMTP relay
  • Astropress SMTP for transactional email → password resets, order confirmations
Terminal window
astropress add --email listmonk --transactional-email smtp

Point Listmonk’s SMTP settings at the same relay, and configure SMTP_HOST / SMTP_PORT / SMTP_USERNAME / SMTP_PASSWORD / SMTP_FROM_EMAIL in your site’s .env.