How to Set Up Business Email on Your Domain: MX, SPF, DKIM and DMARC
An address like [email protected] needs four kinds of DNS records to work properly. Here is what MX, SPF, DKIM and DMARC do, how to add them in your DNS panel and how to test that mail actually arrives.

To set up business email on your own domain, you choose an email provider, add the MX records it gives you to your domain's DNS so mail is delivered to it, and then add SPF, DKIM and DMARC records so other mail servers trust the messages you send. With those four in place, an address like [email protected] works and lands in the inbox instead of spam.
This guide explains what each record does, shows example values, walks through the setup in order and lists the mistakes that break email most often.
What you need before you start
- A domain — registered and with DNS you can edit.
- An email provider — any service that hosts mailboxes for custom domains. It will show you the exact records to add.
- Access to your DNS panel — at mistREG every domain gets free authoritative DNS hosted on Cloudflare's network, managed from your account.
The four records at a glance
| Record | Type | What it does | Example |
|---|---|---|---|
| MX | MX | Tells the world which server accepts mail for your domain | @ MX 10 mx1.provider.example |
| SPF | TXT | Lists the servers allowed to send mail as your domain | v=spf1 include:_spf.provider.example ~all |
| DKIM | TXT or CNAME | Publishes the public key used to sign your outgoing mail | selector._domainkey → key from your provider |
| DMARC | TXT | Tells receivers what to do when SPF/DKIM fail, and where to send reports | _dmarc → v=DMARC1; p=none; rua=mailto:[email protected] |
The values above are examples; always copy the exact values from your email provider. For background on every record type, see DNS record types explained.
Step by step: set up email on your domain
- Add the domain at your email provider — it usually asks you to verify ownership with a TXT record first. Add it in your DNS panel and click verify.
- Remove old MX records — if the domain had MX records from a previous setup, delete them so mail does not split between two providers.
- Add the new MX records — host
@, the provider's mail servers and their priorities. A lower number means higher priority. - Add SPF — one TXT record on
@starting withv=spf1. If you also send from other tools, merge them into the same record. - Turn on DKIM — generate the key in your provider's admin, add the TXT or CNAME record it shows, then switch signing on.
- Add DMARC — start with
p=noneto collect reports without blocking anything. - Test — send a message to and from an outside mailbox and check the headers show SPF, DKIM and DMARC as "pass".
How long does it take?
New records are usually visible within minutes, but resolvers that cached the old values keep them until their TTL runs out. Plan for up to a few hours, and in rare cases longer. Our guide to DNS propagation time explains why and how to check progress.
Common mistakes that break email
- Two SPF records — a domain must have only one
v=spf1record. Two records make SPF fail. Merge them. - Proxying mail hostnames — MX targets and mail hostnames must point straight at the mail server. If your DNS offers a proxy or CDN toggle, keep it off for mail records.
- MX pointing to an IP — an MX record must point to a hostname, not an IP address.
- Jumping to p=reject too early — a strict DMARC policy before every sending tool is in SPF/DKIM will block your own legitimate mail.
- Forgetting other senders — newsletters, invoicing apps and website contact forms also send as your domain and need to be in SPF or have their own DKIM.
Why mail lands in spam (and how to fix it)
- Missing authentication — no SPF, DKIM or DMARC is the most common reason. Add all three.
- New domain, no history — start with normal person-to-person mail before sending newsletters.
- Cheap extension reputation — some low-cost extensions are filtered more strictly. Our article on cheap domain extensions covers deliverability.
- Move to a stricter DMARC — once reports show only your own services sending, go to
p=quarantineand laterp=reject.
Managing mail records at mistREG
Every domain at mistREG comes with free, Cloudflare-hosted authoritative DNS: add MX, TXT, CNAME and the other record types with flexible TTLs from one panel, or use your own nameservers if you prefer. Check domain prices in the packages section, see all services and the FAQ, then register your domain and pay with crypto.


