Email looks simple until you need it to arrive.
For self-hosted apps, email usually means one of three things:
- password reset and invite emails
- transactional notifications
- newsletters and campaigns
Those use cases overlap, but they do not have the same operational risk.
Quick Choice
| Goal | Start Here |
|---|---|
| Send newsletters from your own dashboard | listmonk |
| Run broader marketing automation | Mautic |
| Configure app invites and alerts | App-specific SMTP sections |
| Choose domain email hosting | Static website self-hosting guide |
| Understand MX, SMTP, IMAP, POP3 | Static website email section |
| Handle serious deliverability | SMTP provider plus SPF/DKIM/DMARC |
Newsletters and Campaign Email
listmonk is the focused newsletter and mailing-list tool.
Use it when you want:
- subscribers and lists
- campaign drafts and templates
- SMTP delivery through your chosen provider
- bounce handling
- an API for transactional email
- PostgreSQL-backed ownership of subscriber data
Useful guide:
Mautic is broader. It is the better fit when email is one part of a larger contact and campaign system.
Use it when you want:
- contacts and segments
- forms and landing pages
- email campaigns
- campaign automation
- tracking and reporting
- CRM-like marketing operations
Useful guide:
Transactional Email and App Notifications
Many self-hosted apps only need SMTP for account flows and alerts. Do not overbuild this.
Examples in the post archive:
| App | Email Use |
|---|---|
| Vito | deployment notifications, team invitations, server alerts |
| Teable | invitations and notifications |
| Chartbrew | password reset and team invitations |
| Atria | event invitations and notifications |
| Checkmate | uptime alerts and notification templates |
| GeoPulse | admin account bootstrap through configured email |
Useful guides:
- Vito SMTP notifications
- Teable email invitations
- Chartbrew email settings
- Atria SMTP2GO setup
- Checkmate email alerts
- GeoPulse admin email setup
Domain Email Basics
The static-site self-hosting guide has the broadest domain-email overview in the current archive.
It covers:
- choosing managed email hosting
- self-hosted email server caveats
- MX records
- SMTP for sending
- IMAP/POP3 for receiving
- common providers such as Resend, Postmark, Mailgun, MailerLite, and SendGrid
Useful guide:
Deliverability Checklist
For any domain that sends email, check these before a real campaign:
- MX records for receiving mail, if the domain receives mail.
- SPF record allowing your chosen sender.
- DKIM signing enabled at the provider.
- DMARC policy published, even if it starts as monitoring-only.
- Bounce handling configured for newsletter tools.
- Unsubscribe links and list hygiene for campaigns.
- A real
Fromdomain that matches the sender infrastructure. - Rate limits that match the SMTP provider and audience.
For small self-hosted apps, a transactional provider is often more pragmatic than running a full mail server.
SMTP Provider Pattern
Most apps want the same shape:
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=your-user
SMTP_PASSWORD=your-password
[email protected]
SMTP_TLS=true
Names vary by app. Some use MAIL_*, BACKEND_MAIL_*, or app-specific variables.
The operational model is the same: let the app generate the message, let a trusted SMTP provider deliver it, and keep DNS aligned with that provider.
Comments