Guides and tutorials

Practical, copy-pasteable tutorials based on the setup we run in production.

Deliverability · 9 min Why are my emails going to spam? Why are my emails going to spam? Work through this checklist: SPF, DKIM, DMARC alignment, reverse DNS, blocklists, reputation, content and list hygiene. Authentication · 8 min SPF too many DNS lookups: how to count them and fix the permerror SPF too many DNS lookups means your record needs more than 10 and fails with permerror. How to count lookups, remove waste, flatten safely or use subdomains. Self-hosting · 12 min How to build a self-hosted email server with Postfix on Ubuntu Build a self-hosted email server on Ubuntu 26.04: Postfix, OpenDKIM, Dovecot 2.4 SASL on port 587, Let's Encrypt, fail2ban, DNS, PTR, testing and warm-up. Self-hosting · 8 min Reverse DNS for email: PTR, FCrDNS and HELO alignment Reverse DNS for email explained: set a PTR record for your sending IP, make it match an A record (FCrDNS) and your HELO name, then check it with dig. Migration · 10 min How to migrate from SendGrid to a self-hosted mail server Migrate from SendGrid step by step: inventory, DNS while both run, switching your app to SMTP, suppression lists, gradual warm-up, fallback and cleanup. Migration · 9 min How to migrate from Resend to a self-hosted mail server Migrate from Resend step by step: DNS while both run, Resend SDK to SMTP, React Email over SMTP, suppression data, gradual warm-up, fallback and cleanup. Authentication · 8 min How to set up an SPF record How to set up SPF record entries for your domain: list every sender, publish one TXT record, choose -all or ~all, stay under 10 lookups and test. Authentication · 9 min How to set up DMARC How to set up DMARC: get SPF and DKIM aligned first, publish a p=none record at _dmarc with rua reporting, read the reports, then tighten the policy safely. Authentication · 9 min How to set up DKIM How to set up DKIM: generate a 2048-bit key, publish the selector._domainkey TXT record, sign mail with OpenDKIM or your provider, and test it properly. Deliverability · 9 min Gmail and Yahoo bulk sender requirements, and how to meet each one Gmail bulk sender requirements explained: SPF, DKIM, DMARC, an aligned From, one-click unsubscribe and complaints under 0.3%, with the exact setup for each. Deliverability · 8 min How to warm up a new email IP and domain IP warm up for a new mail server or domain: a week-by-week schedule, who to send to first, how to rate-limit in Postfix, and what to watch before you scale up. Authentication · 9 min Moving DMARC from p=none to p=reject without losing real mail Get to DMARC p=reject safely: a phased rollout from p=none through quarantine, how to read aggregate reports, how pct works and when to set sp= for subdomains.