~/tools/dossier-mx
> dossier / mx
list the mail exchangers (MX records) a domain advertises, sorted by priority.
## overview
mx records tell senders which smtp servers handle email for a domain. lower priority numbers win; multiple hosts at the same priority load-balance. this tool resolves the mx rrset via cloudflare's doh resolver, parses each record into (priority, exchange) pairs, and returns them sorted. it is part of the drwho.me domain dossier — the same result appears as the mx section at `/d/<domain>` and as the `dossier_mx` mcp tool.
## how to use
- enter a bare domain — public fqdn only. no schemes, ports, paths.
- run the check — a single mx doh query against cloudflare's resolver.
- read the priority list — lower priority is tried first. ties load-balance.
## examples
$ in
gmail.com# out
pri=5 gmail-smtp-in.l.google.com. - pri=10 alt1.gmail-smtp-in.l.google.com.$ in
protonmail.com# out
pri=10 mail.protonmail.ch. - pri=20 mailsec.protonmail.ch.## common mistakes
no mx = no inbound smtp— a domain with zero mx records can still send email, but cannot receive smtp traffic. the check reports not_applicable in that case.null mx (RFC 7505)— a single record of priority 0 pointing to "." signals "this domain does not accept mail". the tool shows it verbatim.mx aliases— mx exchanges must be a hostname (A/AAAA), not a CNAME. some domains get this wrong; the dossier does not currently flag it — cross-reference with the dns section if a recipient bounces.
## faq
why is there an mx section and a dns section?
dns covers A/AAAA/NS/SOA/CAA/TXT. mx gets its own section because it's the entry point to the email-auth cluster and the ordered priority view is specific to mail.
can i send mail without mx?
yes, you can send — but you cannot receive. senders consult the recipient's mx, not yours.
does this resolve the A/AAAA of each mx host?
no. that is a second hop; use the dns tool or the dns section of a dossier for each entry if you need the address set.
why is cloudflare resolving this and not google?
cloudflare's doh responds fast and returns structured json. no tracking headers are added. the choice has no effect on the answer — mx is an authoritative record type.
can i look up mx for an ip?
no. mx is a domain-level record. ip-level lookups belong in the ip-lookup tool.
## related tools
dns lookup— resolve A, AAAA, MX, TXT, NS, or CNAME records via Cloudflare DoH.dossier / dns— resolve A, AAAA, NS, SOA, CAA, and TXT records for a domain in one go.