I deleted the mail server from my VPS and got 1.2 GB of RAM back
Description and use
Migrating the mail server from the VPS to smtpfa.st freed 1.14 GB RAM, provided delivery visibility, and enabled safe newsletter sending.
Problem
The VPS hosted a self‑managed mail server that consumed 1.14 GiB of RAM, offered no visibility into email delivery, and risked IP blocklisting when sending newsletters.
Outcome
Migrating from a resource‑heavy, opaque self‑hosted mail server to smtpfa.st freed 1.14 GiB RAM, provided delivery visibility, and enabled reliable newsletter sending with opt‑in compliance.
Workflow
- 1. Stop and remove docker‑mailserver container and related services.
- 2. Add smtpfa.st DNS records in Cloudflare and verify via dashboard.
- 3. Configure Django EMAIL_HOST, EMAIL_PORT, EMAIL_USE_TLS, EMAIL_HOST_USER, EMAIL_HOST_PASSWORD (API key).
- 4. Implement custom TransactionalEmailBackend to set X‑SMTPfast‑Category and disable tracking headers.
- 5. Set up nightly sync job to update smtpfa.st contacts from Django user preferences.
- 6. Build React Email templates, upload as hosted templates to smtpfa.st.
- 7. Create REST API endpoints for broadcast creation and schedule broadcasts by country/time zone.
- 8. Implement webhook handlers for unsubscribes, spam complaints, and bounces with HMAC‑SHA256 verification.
- 9. Add rule to exclude addresses that bounce even once and validate MX records before sending.
- 10. Test password reset email delivery and verify logs in smtpfa.st.
- 11. Monitor bounce rate and adjust rules as needed.
Evidence
docker stats showed the mailserver using 1.14 GiB
I added their DNS records in Cloudflare, the dashboard showed everything verified
The bounce rate went to 3.9%, and sending gets paused at 5%
- Record date: 2026-10-27T08:11:32.389Z