Stop Paying for Resend: How to Build a Production-Grade Self-Hosted Mail Server with Stalwart for $0


Paying a third-party API vendor every time your application sends a password reset link isn't scaling—it's a compliance and financial bottleneck. If you know how to configure a simple Docker container, you can host your own enterprise-grade mail infrastructure for the exact cost of zero dollars.


1. The Email Extortion

Most SaaS founders blindly sign up for Resend, SendGrid, or Postmark because they are terrified of the "deliverability nightmare." These vendors have capitalized on this fear to build a business model that scales linearly with your success.

The moment you hit significant volume, your "variable" costs become a massive drain on your margins. Worse, you are entrusting your user communication layer—the lifeline of your product—to a third-party black box that can suspend your account or throttle your delivery at their discretion.

SMTP is an open protocol. It is time to treat your mail infrastructure as a core asset, not a line-item subscription.

2. The Stalwart Advantage

Stalwart is the modern, memory-safe mail server engine written in Rust. It is built to replace the ancient, bloated MTA (Mail Transfer Agent) configurations of the past with a single, highly performant binary. It handles SMTP, JMAP, IMAP, and is built to be deployed in minutes, not days.

3. Production Deployment with Docker Compose

Skip the complex dependencies. Use this docker-compose.yml to spin up a full mail server on your VPS:

version: '3.8'

services:
  stalwart:
    image: stalwartlabs/mail-server:latest
    container_name: stalwart
    restart: always
    ports:
      - "25:25"
      - "465:465"
      - "587:587"
      - "993:993"
      - "8080:8080" # Management UI
    volumes:
      - ./data:/opt/stalwart-mail/data
      - ./config:/opt/stalwart-mail/etc

4. The 10/10 Deliverability Checklist

The myth that "only big cloud vendors can deliver mail" is propagated by those who refuse to manage their own DNS. To hit the inbox consistently, you must configure four records correctly:

  • PTR Record: Ensure your VPS provider has set a reverse DNS entry for your server’s IP address matching your domain. This is non-negotiable.
  • SPF (Sender Policy Framework): Add a TXT record to your DNS: v=spf1 ip4:YOUR_SERVER_IP -all
  • DKIM (DomainKeys Identified Mail): Stalwart generates this for you automatically. Copy the public key into your DNS TXT records. This cryptographically signs every email you send.
  • DMARC: Tell receiving servers what to do if SPF or DKIM fails. Start with a policy of none to monitor: v=DMARC1; p=none; rua=mailto:admin@yourdomain.com

Once these are set, your server is mathematically as trustworthy as any cloud vendor.

5. Reclaiming Your Sovereignty

When you host your own mail server, you regain total control over your user data. No more API limits, no more volume-based pricing, and no more vendor lock-in. You move your communication costs from a variable, scaling expense to a fixed, predictable infrastructure cost.


Infrastructure independence means owning your communication layer. Subscribe to Infrastructure Dispatch to download our verified Docker Compose configs for Stalwart and automated shell scripts for testing DNS deliverability.



Post a Comment

0 Comments

Search This Blog

Labels

Report Abuse

About Me

이미지alt태그 입력