DMARC & SPF Lookup
Enter a domain to retrieve its DMARC and SPF records, validate every tag and mechanism, and see what’s worth fixing.
DMARC
Tells receivers what to do when authentication fails
Enforcement
Full enforcement
Domain policy
reject
Subdomain policy
reject (inherited)
Aggregate reporting
2 aggregate addresses
Published record
v=DMARC1; p=reject; rua=mailto:d@rua.agari.com,mailto:dmarc_agg@vali.email; ruf=mailto:d@ruf.agari.com,mailto:MTc4Mzcw@ruf.vali.email
Worth knowing
- Forensic reports may never arriveruf is set but fo is not, so failure reports are only generated when both SPF and DKIM fail. Add fo=1 to be told when either one fails. Note that many providers never send forensic reports at all, for privacy reasons.
Looking good
- Policy is at full enforcementp=reject instructs receivers to block mail that fails authentication — the strongest DMARC protection.
- External reporting destination is authorisedrua.agari.com publishes the authorisation record for paypal.com, so reports sent there will be accepted.
- External reporting destination is authorisedvali.email publishes the authorisation record for paypal.com, so reports sent there will be accepted.
- External reporting destination is authorisedruf.agari.com publishes the authorisation record for paypal.com, so reports sent there will be accepted.
- External reporting destination is authorisedruf.vali.email publishes the authorisation record for paypal.com, so reports sent there will be accepted.
Tag breakdown
| Tag | Value | Meaning |
|---|---|---|
| v | DMARC1 | Version Protocol version. Must be DMARC1 and must be the first tag, or the whole record is ignored. |
| p | reject | Policy What receivers should do with mail that fails DMARC: none (monitor only), quarantine (treat as suspicious) or reject (block). |
| rua | mailto:d@rua.agari.com,mailto:dmarc_agg@vali.email | Aggregate report address Where daily aggregate (RUA) XML reports are sent. Without it you get no visibility into your mail flows. |
| ruf | mailto:d@ruf.agari.com,mailto:MTc4Mzcw@ruf.vali.email | Forensic report address Where per-message failure (RUF) reports are sent. Many providers never send these, and reports may contain message content. |
| sp default | inherits p | Subdomain policy Policy applied to subdomains. Defaults to the value of p when omitted. |
| adkim default | r | DKIM alignment How strictly the DKIM domain must match the From domain: r (relaxed, subdomains allowed) or s (strict, exact match). |
| aspf default | r | SPF alignment How strictly the SPF domain must match the From domain: r (relaxed, subdomains allowed) or s (strict, exact match). |
| pct default | 100 | Percentage Portion of failing mail the policy applies to (0–100). Anything below 100 means most failing mail is not acted on. |
| fo default | 0 | Failure options When to generate failure reports: 0 (all mechanisms fail), 1 (any mechanism fails), d (DKIM fails), s (SPF fails). |
| ri default | 86400 | Report interval Requested seconds between aggregate reports. Defaults to 86400 (daily); most receivers send daily regardless. |
Rows marked default are not in the record; these are the values receivers assume.
SPF
Lists the servers allowed to send mail for the domain
DNS lookups
9 / 10
Unlisted senders
~all (softfail)
Includes
9
Nested records
9
Published record
v=spf1 include:pp._spf.paypal.com include:3ph1._spf.paypal.com include:3ph2._spf.paypal.com include:3ph3._spf.paypal.com include:3ph4._spf.paypal.com include:sendgrid.net include:aspmx.pardot.com ~all
Worth knowing
- Unlisted senders are soft-failed~all marks unlisted senders as suspicious rather than forbidden. That is the right setting while you are still discovering senders; tighten to -all once your DMARC reports are clean.
Mechanism breakdown
| Term | Cost | Meaning |
|---|---|---|
| include:pp._spf.paypal.com | 1 lookup | Authorises another domain’s SPF record as well. Costs one DNS lookup, plus every lookup inside it. |
| include:3ph1._spf.paypal.com | 1 lookup | Authorises another domain’s SPF record as well. Costs one DNS lookup, plus every lookup inside it. |
| include:3ph2._spf.paypal.com | 1 lookup | Authorises another domain’s SPF record as well. Costs one DNS lookup, plus every lookup inside it. |
| include:3ph3._spf.paypal.com | 1 lookup | Authorises another domain’s SPF record as well. Costs one DNS lookup, plus every lookup inside it. |
| include:3ph4._spf.paypal.com | 1 lookup | Authorises another domain’s SPF record as well. Costs one DNS lookup, plus every lookup inside it. |
| include:sendgrid.net | 1 lookup | Authorises another domain’s SPF record as well. Costs one DNS lookup, plus every lookup inside it. |
| include:aspmx.pardot.com | 1 lookup | Authorises another domain’s SPF record as well. Costs one DNS lookup, plus every lookup inside it. |
| ~all | free | Matches everything else. Its qualifier decides what happens to mail from any server not listed above. |
Include resolution
Every record reached while evaluating this domain. Each nested record spends lookups from the same budget of 10.
-
pp._spf.paypal.com no further lookups
v=spf1 ip4:173.0.84.224/27 ip4:66.211.170.85/30 ip4:66.211.170.88/29 ip4:173.224.165.0/26 ip4:173.224.166.48/28 ip4:173.0.94.244/30 ip4:173.224.161.128/25 ip4:173.0.84.0/29 -all -
3ph1._spf.paypal.com no further lookups
v=spf1 ip4:208.201.241.163 ip4:67.72.99.26 ip4:206.165.246.80/29 ip4:64.127.115.252 ip4:194.64.234.129 ip4:65.110.161.77 ip4:204.13.11.48/29 ip4:63.80.14.0/23 ip4:208.64.132.0/22 ip4:81.223.46.0/27 ip4:216.136.168.80/28 ip4:129.41.77.70 ~all -
3ph2._spf.paypal.com no further lookups
v=spf1 ip4:208.85.50.137 ip4:157.151.208.65 ip4:208.40.232.70 ip4:12.130.86.238 ip4:198.178.234.57 ip4:67.221.168.65 ip4:216.136.162.120/29 ip4:216.136.162.65 ip4:74.112.67.243 ip4:204.92.114.187 ip4:65.212.180.36 ip4:8.20.114.31 ~all -
3ph3._spf.paypal.com no further lookups
v=spf1 ip4:8.20.114.31 ip4:108.175.18.45 ip4:108.175.30.45 ip4:54.244.242.0/24 ip4:209.67.98.46 ip4:206.25.247.143 ip4:209.46.117.179 ip4:54.241.16.209 ip4:209.67.98.59 ip4:54.214.39.184 ip4:209.46.117.168 ip4:206.25.247.155 ip4:198.61.254.231 ~all -
3ph4._spf.paypal.com no further lookups
v=spf1 ip4:182.50.78.64/28 ip4:204.14.232.64/28 ip4:96.43.148.64/28 ip4:96.43.144.64/28 ip4:96.43.151.64/28 ip4:204.14.232.64/28 ip4:204.14.234.64/28 ip4:208.185.229.45 ip4:66.170.126.97 ip4:216.128.126.97 ip4:216.66.217.240/29 ip4:208.72.249.240/29 ~all -
sendgrid.net 1 further lookup
v=spf1 ip4:167.89.0.0/17 ip4:208.117.48.0/20 ip4:50.31.32.0/19 ip4:198.37.144.0/20 ip4:198.21.0.0/21 ip4:192.254.112.0/20 ip4:168.245.0.0/17 ip4:149.72.0.0/16 ip4:159.183.0.0/16 ip4:134.128.64.0/19 ip4:134.128.96.0/19 include:ab.sendgrid.net ~all -
ab.sendgrid.net no further lookups
v=spf1 ip4:223.165.113.0/24 ip4:223.165.115.0/24 ip4:223.165.118.0/23 ip4:223.165.120.0/23 ~all -
aspmx.pardot.com 1 further lookup
v=spf1 include:et._spf.pardot.com -all -
et._spf.pardot.com no further lookups
v=spf1 ip4:198.245.81.0/24 ip4:136.147.176.0/24 ip4:13.111.0.0/16 ip4:136.147.182.0/24 ip4:136.147.135.0/24 ip4:199.122.123.0/24 -all