Dataweaz

Domain names

Enter a domain name to see its DNS records, its WHOIS and its spoofing protection (DMARC, SPF).

Latest looked-up domains

MX, SPF, DKIM and DMARC: the e-mail records

Four DNS records make a domain's e-mail work. MX says where e-mails sent to example.com arrive; SPF, DKIM and DMARC let mail servers check that an e-mail claiming to come from example.com was really sent by this domain, which protects it against spoofing.

MX

An MX (Mail Exchanger) record designates a server that receives e-mails sent to the domain. When someone writes to an @example.com address, their mail server queries the DNS for the domain's MX records, then delivers the message to the server they point to.

Example record

example.com  MX  10 mx1.example.com.
example.com  MX  20 mx2.example.com.

What the record contains

10, 20
Priority: the server with the lowest number is tried first. Servers with equal priority share the load.
mx1.example.com.
Host name of the mail server. It must point to an A or AAAA record: an IP address or an alias (CNAME) is not allowed here.
0 .
An MX "0 .", called a null MX, declares that the domain accepts no e-mail: sending servers give up at once instead of retrying.

Declaring at least two servers with different priorities avoids losing e-mails during an outage: sending servers retry for several days and fall back on the backup server. Without any MX, they try to deliver directly to the IP address of the domain.

SPF

SPF (Sender Policy Framework) is a TXT record listing the servers allowed to send e-mails on behalf of the domain. The receiving server checks that the sender is on this list. The final "all" rule says what to do with other servers: reject them (-all), flag their e-mails as suspicious (~all) or make no decision (?all).

Example record

example.com  TXT  "v=spf1 mx include:_spf.google.com ip4:192.0.2.10 -all"

What the record contains

v=spf1
Identifies the record as an SPF policy. It must come first.
ip4, ip6
Allows a specific IP address or an address range, for example ip4:192.0.2.0/24.
a, mx
Allows the addresses of the domain itself (A record) or those of its mail servers (MX).
include
Allows the servers of another domain, usually a sending service: include:_spf.google.com for Google Workspace.
-all, ~all
Final rule, applied to every other server. Its qualifier decides what happens to them: - rejects them, ~ flags their e-mails as suspicious, ? makes no decision, + accepts them (avoid it).

A domain must publish only one SPF record, and its evaluation cannot exceed 10 DNS lookups (include, a, mx, exists, redirect). Beyond that, mail servers treat it as invalid.

DKIM

DKIM (DomainKeys Identified Mail) signs every outgoing e-mail with a private key. The matching public key is published in a TXT record at selector._domainkey.example.com, so the recipient can check that the message really comes from the domain and was not altered on the way. The selector is chosen by each sending service and cannot be guessed: Dataweaz checks the most common ones (Google Workspace, Microsoft 365, Mailchimp, SendGrid…), so a key published under another selector may exist without appearing here.

Example record

google._domainkey.example.com  TXT  "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA…"

What the record contains

v=DKIM1
Protocol version. Optional but recommended, in which case it must come first.
k
Key algorithm: rsa, the most common, or ed25519.
p
Public key, base64-encoded. An empty value means the key has been revoked.
t
Flags: y marks a key in testing, whose failures must not be penalized; s forbids its use for subdomains.

Each sending service publishes its key under its own selector (google, selector1, k1…), which allows several keys and seamless rotation. A 2048-bit RSA key is recommended today.

DMARC

DMARC (Domain-based Message Authentication, Reporting and Conformance) builds on SPF and DKIM. Published on _dmarc.example.com, it tells mail servers what to do with an e-mail that fails these checks (let it through, send it to spam or reject it) and where to send reports.

Example record

_dmarc.example.com  TXT  "v=DMARC1; p=quarantine; rua=mailto:[email protected]; adkim=r; aspf=r"

What the record contains

v=DMARC1
Identifies the record as a DMARC policy. It must come first.
p
Policy applied to e-mails that fail the checks: none (monitoring only), quarantine (spam folder) or reject.
sp
Subdomain policy. Without it, subdomains follow the domain's policy.
rua
Address that receives daily aggregate reports about e-mails sent on behalf of the domain, whether they pass the checks or not.
ruf
Address that receives detailed failure reports, message by message. Few providers still send them.
pct
Percentage of e-mails subject to the policy, for a gradual rollout. 100 by default.
adkim, aspf
DKIM and SPF alignment: r (relaxed, a subdomain of the same domain is enough) or s (strict, the domain must be identical).

To roll out DMARC without blocking legitimate e-mails, start with p=none and an rua address, analyze the reports to find every service sending on behalf of the domain, then move to quarantine and finally to reject.