Appearance
DNS setup
Deliverability lives and dies on DNS. Clacks prints everything you need:
sh
docker compose exec clacks clacks dns example.comThe records
| Type | Name | Value |
|---|---|---|
| A | mail.example.com | your server's IP |
| MX | example.com | mail.example.com (priority 10) |
| TXT (SPF) | example.com | v=spf1 mx -all |
| TXT (DKIM) | clacks._domainkey.example.com | v=DKIM1; k=rsa; p=… — printed with your real key |
| TXT (DMARC) | _dmarc.example.com | v=DMARC1; p=quarantine; rua=mailto:postmaster@example.com |
The DKIM key pair is generated when the domain is added; the printed record contains the real public key, so publish it verbatim.
Reverse DNS (PTR)
Set the PTR record for your server's IP to your mail hostname (mail.example.com) in your VPS provider's panel. This is not optional — many receivers reject mail from IPs whose PTR is missing or doesn't match the HELO name.
The postmaster address
The suggested DMARC record asks other servers to send aggregate reports to postmaster@your-domain. Make sure that address routes somewhere: create a user, an alias, or a domain catch-all:
sh
docker compose exec clacks clacks alias add postmaster@example.com you@example.com
# or catch everything:
docker compose exec clacks clacks alias add @example.com you@example.comVerify before trusting
Send a test message to mail-tester.com from the webmail and aim for 10/10. It checks SPF, DKIM, DMARC, PTR, and blocklist status in one shot.
New IPs have no reputation
Even with perfect DNS, big providers throttle mail from IPs they've never seen. Start with low volume and let the reputation build.