Mail lands in spam when the receiving server cannot confirm that your domain authorized the message, or when the content and sending pattern look like bulk junk. Three DNS records fix the first problem: SPF lists the servers allowed to send for your domain, DKIM adds a cryptographic signature that proves the message was not altered, and DMARC tells receivers what to do when either check fails. Add all three, then reduce the signals that look like spam.
What each record does
| Record | What it proves | Form | Common mistake |
|---|---|---|---|
| SPF | Which servers may send mail for the domain | A TXT record starting with v=spf1 that ends in ~all or -all | Two SPF records, which invalidate both |
| DKIM | That the message was signed by the domain and not modified in transit | A TXT record holding a public key at a selector name | Wrong selector, or a key rotated without updating DNS |
| DMARC | What to do when SPF or DKIM fails, and where to send reports | A TXT record at _dmarc, starting with v=DMARC1 | Jumping to p=reject before reading reports |
Add the records in the right order
- Collect the exact values from the mailbox or sending service you use. Never copy values from another provider; the keys and include hosts are unique.
- Publish SPF as a single TXT record at the root. If one already exists, edit it instead of adding a second.
- Publish the DKIM key at the selector name the provider gives you, then send a test message and confirm the signature passes.
- Start DMARC in monitor mode with
p=noneand a reporting address, so you can see who is sending as your domain. - After a few weeks of clean reports, move to
p=quarantine, thenp=rejectonce all legitimate sources pass.
Warm up a new sending domain
- Start with a small volume and increase gradually over days, not hours.
- Send to people who expect your mail first: customers, subscribers, contacts who opted in.
- Keep a consistent sending domain and address; switching domains resets your reputation.
- Stop sending to addresses that hard-bounce, and remove them from your list.
- Watch complaint rates; a few complaints per thousand messages is already too many.
Content and list hygiene
- Write a plain subject line that matches the body. All caps, fake replies, and urgency tricks trigger filters.
- Keep one clear text link and a real physical address or company signature.
- Avoid image-only messages and attachments that recipients did not ask for.
- Use double opt-in, and let people unsubscribe in one click.
- Send consistently rather than in rare, huge bursts.
Test before you blame the inbox
Run a seeded test through a tool such as mail-tester.com or the free checks at MXToolbox, and read the authentication results in the message headers: spf=pass, dkim=pass, dmarc=pass. Gmail and Microsoft postmaster tools show reputation and complaint data for larger senders. If a record fails, fix DNS first; content tweaks cannot rescue a message that failed authentication.
DNS changes can take up to the TTL to apply, so retest the next day before changing anything else. For domain and hosting basics, see the FAQ or reach us through contact.