Fastmail · Custom domain · Setup
Fastmail custom domain: everything set up — except the policy climb
v=DMARC1; p=none; — no enforcement, and no rua, so not even reports. It is a perfectly good starting record that most domains simply never leave, because nothing in Fastmail ever prompts the climb. This guide's job: set up everything Fastmail way, then do the one manual thing Fastmail leaves to you (§4).The two doors
| Door | What Fastmail does | What you watch |
|---|---|---|
| A — Fastmail hosts DNS (nameservers → Fastmail) | Publishes the full set automatically: MX pair, SPF, the three DKIM CNAMEs, the default DMARC — plus extras (wildcard subdomain MX, web/webmail CNAMEs, an SRV autodiscovery set), all TTL 1 hour, editable in Customize DNS | The website trap, in Fastmail's own words: “It is not a good idea to change nameservers without preparation if you already have a website on your domain.” Nothing carries over; the default zone points web at Fastmail's file storage. Inventory and rebuild every record (site, verification TXT, everything) in Customize DNS — before or immediately after the switch |
| B — External DNS (MX-only move) | Wizard verifies the manual set (§table) and re-checks it (hourly for external setups) | Copy fidelity: all records, exactly — partial copies are the classic Fastmail failure |
| Both doors require at least one account admin on a non-Basic plan (Fastmail's own wording). A third documented pattern — neither NS nor MX at Fastmail, mail filtered/redirected in — exists for edge cases; it's not a business default. | ||
The record set (external DNS / verification reference)
| Record | Name | Value |
|---|---|---|
| MX | @ | in1-smtp.messagingengine.com (10) · in2-smtp.messagingengine.com (20) — the domain's only MX records |
| TXT (SPF) | @ | v=spf1 include:spf.messagingengine.com ?all — note Fastmail's real ending is ?all (neutral), which most third-party write-ups mistranscribe as ~all. Copy Fastmail's, not the internet's |
| CNAME ×3 (DKIM) | fm1._domainkey · fm2._domainkey · fm3._domainkey | fmN.<yourdomain>.dkim.fmhosted.com — “you'll need to add all three CNAME records” (Fastmail's manual DNS page) |
| TXT (DMARC) | _dmarc | v=DMARC1; p=none; — the default you're about to improve in §4 |
The ladder (external DNS)
- Add the domain in Settings → Domains; choose the MX-only route.
- Publish MX + SPF + the three DKIM CNAMEs + DMARC from the table (merging the SPF include into an existing record if other senders share the domain — Articles #3/#18).
- Recheck DNS in Fastmail: the domain shows a green tick (a red exclamation comes with fix advice — Fastmail's BIMI page confirms a clean recheck means SPF and DKIM are correctly set). Door statuses read “Active. MX records set” (or “…Nameservers set” on Door A).
- Send test mail out and in; verify headers (§Verify).
- Do §4 — the step that isn't Fastmail's.
§4 — the climb Fastmail leaves to you
- Add reporting first: replace the default DMARC with your own carrying
rua=mailto:you@yourdomain(stillp=none). On Fastmail-hosted DNS: disable the auto-generated record, create yours in Customize DNS. On external DNS: edit your record. - Read reports for a cycle or two (Article #36): Fastmail should appear as an aligned source on both legs.
- Climb to
p=quarantine, thenp=reject(Article #4's gates). Motive beyond hygiene, from Fastmail's own docs: its BIMI page notes logo display requires an enforcing policy — the default record can never qualify you (Article #37). - Subdomains inherit the root policy (
spdefaults top— specification behaviour, Article #40) — setspexplicitly if your streams differ.
Verify
- Fastmail: green tick + clean Recheck; ongoing re-checks run daily (hosted) / hourly (external) — a record broken later surfaces here, a genuinely nice touch.
- Headers: outbound test shows
dkim=passwithd=your domain; inbound filtering benefits from senders' checks as usual. - Readbacks: one SPF (with Fastmail's ending intact), three CNAMEs resolving to
fmhosted.comtargets, your upgraded_dmarc.
Traps
| Trap | Reality |
|---|---|
| The nameserver door, unprepared | Mail perfect, website gone (records didn't migrate). Fastmail warns in writing — believe it |
mesmtp._domainkey from an old tutorial | Deprecated selector. Its presence means your source predates 2018; use fm1–fm3 |
| DNSSEC from your registrar still on after moving DNS | Fastmail documents DNSSEC as unsupported on its hosting and a mail-breaker — disable it at the registrar for Door A |
| “Fastmail handles DMARC” | It handles a starter record. Enforcement, reporting and the climb are yours (§4) — same division of labour as every host in this series, just friendlier about the first 90% |
FAQ
Why three DKIM selectors if Fastmail won't explain them?
Print only what's documented: all three are required; keys live at Fastmail. (Rotation redundancy is the obvious engineering reading — labelled inference if you repeat it, not Fastmail's statement.)
My BIMI record is published but no logo shows.
Check the gate (Article #37): with Fastmail's default p=none you fail the first condition. §4's climb is the fix — plus the certificate Gmail demands.
Can I keep my registrar's DNS and still get the automatic DMARC?
The automatic record exists only on Fastmail-hosted DNS; on external DNS you publish the identical value yourself (and your improved version later) — same record, your hands.
Sources
Fastmail Help — Custom domains hub · NS/MX setup (nameserver warning) · MX-only setup · Manual DNS configuration (the record set; “add all three CNAME records”; ?all SPF) · DMARC page (default p=none) · Sender authentication · BIMI page (recheck meaning; enforcement requirement) · DNSSEC note. Fastmail's 2016 blog post claiming no default DMARC is stale against the current help and is not relied on.
Did this guide work for you?
Your reaction tells us whether this guide solved the problem it promised to solve.