Email Server Setup
Self-Hosted Email with Postal
BlitzPress can deploy a full-featured email server on your VPS using Postal, an open-source mail delivery platform.
What You Get
- Send transactional and marketing emails from your own domain
- SMTP server with TLS encryption (ports 25 and 587)
- Web UI for managing organizations, servers, and domains
- Message tracking with delivery status, opens, and clicks
- Webhooks for delivery events
- SPF, DKIM, and DMARC configured automatically
Deployment
From the panel, navigate to your server settings and click “Deploy Email Server”. Provide:
- Hostname — e.g., mail.yourdomain.com
- Domain — the domain you’ll send from
- Cloudflare credentials (optional) — for automatic DNS record creation
What Gets Deployed
Postal runs as a Docker Compose stack with these services:
| Service | Purpose |
|---|---|
| postal-web | Web management interface |
| postal-smtp | SMTP server (ports 25, 587) |
| postal-worker | Background job processing |
| postal-cron | Scheduled maintenance tasks |
| mariadb | Database for Postal |
| rabbitmq | Message queue |
DNS Records
If Cloudflare is connected, BlitzPress auto-creates these DNS records:
- A record: mail.yourdomain.com → server IP
- MX record: yourdomain.com → mail.yourdomain.com (priority 10)
- TXT (SPF):
v=spf1 ip4:{server-ip} ~all - TXT (DKIM): postal-{id}._domainkey.yourdomain.com
- TXT (DMARC):
v=DMARC1; p=quarantine; rua=mailto:[email protected] - CNAME (Return Path): rp.yourdomain.com → mail.yourdomain.com
- CNAME (Click Tracking): track.yourdomain.com → mail.yourdomain.com
SMTP Credentials
After deployment, SMTP credentials are shown in the panel. Use these in your WordPress SMTP plugin or application:
- Host: mail.yourdomain.com
- Port: 587 (STARTTLS)
- Username: auto-generated
- Password: auto-generated
The evo-smtp.php mu-plugin can auto-configure WordPress to use your Postal server.