Skip to content

DNS setup

Deliverability lives and dies on DNS. Clacks prints everything you need:

sh
docker compose exec clacks clacks dns example.com

The records

TypeNameValue
Amail.example.comyour server's IP
MXexample.commail.example.com (priority 10)
TXT (SPF)example.comv=spf1 mx -all
TXT (DKIM)clacks._domainkey.example.comv=DKIM1; k=rsa; p=… — printed with your real key
TXT (DMARC)_dmarc.example.comv=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.com

Verify 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.

Licensed under AGPL-3.0 · GNU Terry Pratchett