send25

DNS setup

Three records, once, and then never again.

This is the only part of setting up send25 that happens outside your building, and it's where people get stuck. So here it is properly: what to publish, exactly where to click for your provider, and the mistakes that quietly break mail.

1 · Work out where your DNS actually lives

Do this first. It's the single biggest time-waster in DNS changes — people spend an hour editing records at their registrar, and nothing happens, because the registrar stopped being in charge of DNS years ago.

Who you bought the domain from is not necessarily who answers DNS questions about it. If someone once pointed the domain at Cloudflare, then Cloudflare is where records have to go — and edits anywhere else are ignored completely.

Find out for certain. On Mac or Linux:

Terminal
dig +short NS yourdomain.com

On Windows PowerShell:

PowerShell
Resolve-DnsName yourdomain.com -Type NS | Select-Object NameHost

Not comfortable with a terminal? Any "DNS checker" website will show the same nameservers. Then read the answer:

Ends in ns.cloudflare.comCloudflare — go there, not to your registrar
domaincontrol.comGoDaddy
awsdns-**Amazon Route 53
azure-dns.***Azure DNS
registrar-servers.comNamecheap
squarespacedns.comSquarespace (this is where Google Domains customers ended up)
hover.comHover
Something ending in your web host's nameYour hosting control panel — usually a "Zone Editor"

If you have an IT provider or web developer, this is the moment to loop them in. Send them this page and the three values from your send25 console. It's a ten-minute job for someone who has the login, and an afternoon for someone who doesn't.

2 · The three records, and what each one does

All three are TXT records. None of them affect your website, your existing email, or anything else — they only add permission for us to send on your behalf.

Your exact values are in your send25 console, under the domain, on the DNS setup page. It reads your live DNS first and shows you only what actually needs to change. Don't copy the examples below — they're here to show the shape.

DKIM — the signature

A cryptographic key that lets us sign mail as your domain, so receivers can prove it really came from you and wasn't altered. This is the one that makes relayed mail pass DMARC. Longest value, most important record.

TXT · DKIM
Type
TXT
Name / Host
mr2026._domainkey
Value
v=DKIM1; k=rsa; p=MIIBIjANBgkqhki… (very long — copy from your console)
TTL
leave the default

SPF — the permission list

Names the servers allowed to send for your domain. We add one IP address to whatever you already have.

TXT · SPF · on the domain itself
Type
TXT
Name / Host
@
Value
v=spf1 include:spf.protection.outlook.com ip4:142.163.54.20 ~all
TTL
leave the default
You are editing your existing SPF record, not adding a new one. A domain may have exactly one. See mistake #1 — it's the most common way this goes wrong, and it breaks all your mail, not just ours. Your console shows your current record with our IP already merged in, so you can copy the whole line.

DMARC — the policy

Tells receivers what to do with mail that fails the checks above, and where to send reports. If you already have a DMARC record, leave it alone — your console will say so.

TXT · DMARC
Type
TXT
Name / Host
_dmarc
Value
v=DMARC1; p=none; rua=mailto:…
TTL
leave the default

P=NONE means monitor only. It changes nothing about how your mail is delivered — it just asks receivers to report what they see. It is the correct place to start, and it is safe to publish today.

3 · Your provider, step by step

Pick the one your nameservers pointed at in step 1. The boxes below are diagrams of each form — the field names are what matter and those rarely change, even when the buttons get moved around.

Cloudflare dash.cloudflare.com
  1. Sign in and click your domain.
  2. DNS in the left sidebar, then Records.
  3. Add record.
  4. Set Type to TXT, fill in Name and Content, then Save.
  5. Repeat for each of the three records.
Cloudflare · Add record
Type
TXT
Name
mr2026._domainkey
Content
v=DKIM1; k=rsa; p=…
TTL
Auto
Enter the short name, not the full one. Cloudflare adds your domain automatically. Type mr2026._domainkey — if you type mr2026._domainkey.yourdomain.com you'll create …yourdomain.com.yourdomain.com, which resolves to nothing. After saving, Cloudflare displays the full name. That's normal and does not mean you did it twice.
The orange cloud doesn't apply here. Proxying only exists for A, AAAA and CNAME records. TXT records are never proxied, so there's nothing to switch off.
Check Cloudflare's own email tools first. If you've used the DMARC Management or Email Security features, Cloudflare may already maintain a _dmarc record. Edit that one rather than creating a second.
GoDaddy godaddy.com
  1. Sign in, open My Products.
  2. Find the domain and choose DNS (sometimes "Manage DNS").
  3. Add New Record.
  4. Choose TXT, fill in Name and Value, Save.
GoDaddy · Add New Record
Type
TXT
Name
mr2026._domainkey
Value
v=DKIM1; k=rsa; p=…
TTL
1 hour (default)
Use @ for the SPF record's Name. That means "the domain itself". GoDaddy appends your domain to whatever you type, same as Cloudflare.
If your nameservers aren't GoDaddy's, this screen does nothing. GoDaddy will still happily let you type records in. They simply won't take effect, because something else is authoritative. Re-read step 1 if you're unsure.
Microsoft 365 admin.microsoft.com

Common in offices already running Outlook and Teams. Whether you can edit records here depends on how the domain was set up.

  1. Sign in to the Microsoft 365 admin center as a Global Administrator.
  2. Settings → Domains, then click your domain.
  3. Open the DNS records tab.
  4. If you see an Add record button, add them here.
Microsoft 365 · Add a custom record
Type
TXT
TXT name
mr2026._domainkey
TXT value
v=DKIM1; k=rsa; p=…
TTL
1 hour
If there's no Add button, Microsoft isn't hosting your DNS — it's only showing you the records it wants. In that case Microsoft is listing requirements, not offering an editor, and your records go wherever step 1 pointed.
Your SPF record almost certainly already exists, containing include:spf.protection.outlook.com. Edit that record and add our ip4: to it. Do not create a second one.
Don't confuse this with Microsoft's own DKIM. M365 publishes DKIM as two CNAME records with selector1 / selector2. Ours is a separate TXT on mr2026._domainkey. They coexist happily — a domain can have many DKIM selectors, and they don't interfere.
Azure DNS portal.azure.com
  1. In the Azure portal, search for and open DNS zones.
  2. Select the zone for your domain.
  3. + Record set.
  4. Name it, set Type to TXT, paste the value, OK.
Azure DNS · Add record set
Name
mr2026._domainkey
Type
TXT
TTL
1 hour
Value
v=DKIM1; k=rsa; p=…
Azure groups records into "record sets". One TXT set can hold several values. For SPF, open the existing @ TXT set and edit the line that starts with v=spf1. Adding a second value containing another v=spf1 creates the duplicate-SPF failure in mistake #1.
Use @ for the apex, not your domain name.
Amazon Route 53 console.aws.amazon.com/route53
  1. Open Route 53 → Hosted zones and select your domain.
  2. Create record.
  3. Record name: the short name. Record type: TXT.
  4. Paste the value in double quotes, then Create records.
Route 53 · Create record
Record name
mr2026._domainkey
Record type
TXT
Value
"v=DKIM1; k=rsa; p=…"
TTL
300
Route 53 requires the quotes. This is the mistake people make here. Every TXT value must be wrapped in "double quotes" or the record is rejected or stored wrong.
The DKIM value is longer than 255 characters, which is the maximum for a single DNS string. Route 53 wants it split into several quoted chunks, one after another: "first part…" "second part…" — with a space between the closing and opening quotes. Receivers glue them back together automatically. Most other providers do this splitting for you; Route 53 does not.
Namecheap namecheap.com
  1. Sign in → Domain ListManage beside your domain.
  2. Open the Advanced DNS tab.
  3. Add New RecordTXT Record.
  4. Fill in Host and Value, then click the tick to save.
Namecheap · Advanced DNS
Type
TXT Record
Host
mr2026._domainkey
Value
v=DKIM1; k=rsa; p=…
TTL
Automatic
Changes only save when you click the small green tick at the end of the row. Navigating away first silently discards them.
Use @ as the Host for SPF.
Squarespace — including former Google Domains customers

Google Domains was sold to Squarespace, so if you registered there, this is you now.

  1. Sign in → Domains → select your domain.
  2. DNSDNS Settings.
  3. Scroll to Custom records and add a record.
Squarespace · Custom records
Host
mr2026._domainkey
Type
TXT
Data
v=DKIM1; k=rsa; p=…
Use @ for the SPF host.
Hover hover.com
  1. Sign in → Domains → click your domain.
  2. Open the DNS tab.
  3. Add a record, choose TXT.
Hover · Add a record
Type
TXT
Hostname
mr2026._domainkey
Value
v=DKIM1; k=rsa; p=…
Use @ as the hostname for SPF.
cPanel / Plesk most web hosts, including many Canadian ones

If your domain is with a hosting company rather than a dedicated DNS provider, you're probably in one of these. The wording varies slightly between hosts, but the shape is the same.

  1. Log in to your hosting control panel.
  2. cPanel: find Zone Editor under Domains, then ManageAdd Record.
    Plesk: Websites & Domains → your domain → DNS SettingsAdd Record.
  3. Choose TXT and fill in the name and value.
Zone Editor · Add Record
Name
mr2026._domainkey
Type
TXT
Record / TXT Data
v=DKIM1; k=rsa; p=…
TTL
14400
Some Zone Editors want the full name including a trailing dotmr2026._domainkey.yourdomain.com. If the short form doesn't appear after saving, look at how the existing records in the list are written and copy that style. They'll show you which convention your host uses.
Something else Wix, Shopify, Canadian registrars, anything not listed

Every DNS editor asks the same three things, whatever it calls them:

TypeAlways TXT for all three records
Name / Host / Hostname / Aliasmr2026._domainkey, @, or _dmarc
Value / Content / Data / Points toThe long string from your console

Look for a menu item called DNS, Advanced DNS, Zone Editor, Name Server Records or Manage DNS. If your provider only lets you add records for a website and offers no TXT option — some website builders are like this — you can move DNS to a provider that does, without moving your website or your domain registration.

Stuck? Send us the name of your provider. We'd genuinely rather spend ten minutes writing instructions for your setup than have you give up on it. If your provider turns out to be a common one, it'll end up on this page for the next person.

4 · The five things that actually break it

In roughly the order they cause trouble. The first one is worth reading even if you skip the rest — it's the one that breaks all your email, not just ours.

MISTAKE 1
Two SPF records

A domain may have exactly one record starting v=spf1. Not two. If a second appears, the standard says the result is an error — and receivers treat that as no SPF at all, for every system you send from. Your Microsoft mail, your CRM, everything.

It's an easy mistake because adding a record feels safer than editing one. It isn't.

Wrongv=spf1 include:spf.protection.outlook.com ~all
v=spf1 ip4:142.163.54.20 ~all
Rightv=spf1 include:spf.protection.outlook.com ip4:142.163.54.20 ~all

Your console does this merge for you and shows the finished line. Copy it whole, and replace what's there.

MISTAKE 2
Typing the full name in the Name field

Nearly every provider adds your domain automatically. Typing mr2026._domainkey.yourdomain.com produces mr2026._domainkey.yourdomain.com.yourdomain.com, which nothing will ever find. Enter the short name and let the provider finish it.

The exception is the handful of Zone Editors that want the full name with a trailing dot. Look at how existing records in the list are written — they'll tell you which kind you're in.

MISTAKE 3
The DKIM value getting mangled

The DKIM record is long — around 400 characters. Three things go wrong:

  • It gets truncated. Copy from your console with the copy button rather than selecting by hand; it's easy to miss the last characters of a long line.
  • A line break sneaks in. Pasting through a word processor or a chat window can insert one. The value must be a single unbroken line.
  • Route 53 needs it split into quoted chunks — see the Route 53 section above.

If DKIM shows as mismatch in your console rather than missing, a truncated or altered paste is the usual cause.

MISTAKE 4
Editing DNS at the registrar when it's hosted elsewhere

Covered in step 1, and it's worth repeating because the failure is so quiet: the form saves, shows a success message, and changes nothing at all. If you've published records and nothing happens for an hour, check your nameservers before you check anything else.

MISTAKE 5
Expecting it to be instant

New records usually appear within a few minutes. Changes to a record that already existed can take as long as its old TTL — often an hour, occasionally a day. Nothing is broken during that window; the internet is just still holding the previous answer.

Your console re-checks live DNS every time you open it, so refresh rather than re-adding. Adding the record a second time because the first "didn't work" is how mistake #1 happens.

5 · Checking it worked

Three ways, easiest first.

  1. Your send25 console. Open the domain's DNS page. It queries live DNS and shows each record as published, missing or mismatched — with the exact value it expected. When all three are green, you're done, and the domain switches on for sending.
  2. Send yourself a message. The real test. Send through the relay to a Gmail or Outlook address you can open. In Gmail, use Show original: you want SPF: PASS, DKIM: PASS and DMARC: PASS. That's the recipient's own verdict, not ours.
  3. Check the records directly, if you like a terminal:
Terminal
dig +short TXT mr2026._domainkey.yourdomain.com
dig +short TXT yourdomain.com
dig +short TXT _dmarc.yourdomain.com

If something won't come right, stop and email us. Send the domain name and what your console shows. We'd rather look at it than have you guess — and if it turns out to be something we could have explained better, this page gets fixed.