SPF.Guru Sign in

SPF checker

Evaluate a domain's SPF record the way a receiving mail server does. Every mechanism, DNS lookup and macro expansion is shown, so you can see not just the verdict but where it came from.

A bare domain works too

IPv4 or IPv6

Defaults to the sender domain

Evaluated instead of the published record, so you can test one before publishing it. Includes inside it still resolve live.

softfail

The sending IP is not authorised, but the domain asks for a soft landing.

DNS terms used
4 of 10
Void lookups
0 of 2
DNS queries
5
Elapsed
53 ms

How it was evaluated

  1. record for _spf.prod.hydra.sophos.com v=spf1 include:_spf_uswest2.prod.hydra.sophos.com include:_spf_euwest1.prod.hydra.sophos.com include:_spf_eucentral1.prod.hydra.sophos.com include:_spf_useast2.prod.hydra.sophos.com ~all
  2. include:_spf_uswest2.prod.hydra.sophos.com no match
    • _spf_uswest2.prod.hydra.sophos.com returned softfail
  3. record for _spf_uswest2.prod.hydra.sophos.com v=spf1 ip4:198.154.181.0/24 ip4:64.69.223.0/24 ip4:192.175.3.0/24 ip4:198.160.151.0/24 ip4:34.213.30.40/29 ip4:34.213.30.104/29 ip4:34.212.96.64/28 ip4:34.213.30.95/32 ip4:34.213.30.120/32 ip4:34.212.96.123/32 ~all
  4. ip4:198.154.181.0/24 no match
  5. ip4:64.69.223.0/24 no match
  6. ip4:192.175.3.0/24 no match
  7. ip4:198.160.151.0/24 no match
  8. ip4:34.213.30.40/29 no match
  9. ip4:34.213.30.104/29 no match
  10. ip4:34.212.96.64/28 no match
  11. ip4:34.213.30.95/32 no match
  12. ip4:34.213.30.120/32 no match
  13. ip4:34.212.96.123/32 no match
  14. ~all softfail
  15. include:_spf_euwest1.prod.hydra.sophos.com no match
    • _spf_euwest1.prod.hydra.sophos.com returned softfail
  16. record for _spf_euwest1.prod.hydra.sophos.com v=spf1 ip4:198.154.180.0/24 ip4:34.253.219.128/28 ip4:34.253.219.152/29 ip4:34.253.219.160/29 ip4:34.253.219.248/30 ip4:34.253.219.144/32 ~all
  17. ip4:198.154.180.0/24 no match
  18. ip4:34.253.219.128/28 no match
  19. ip4:34.253.219.152/29 no match
  20. ip4:34.253.219.160/29 no match
  21. ip4:34.253.219.248/30 no match
  22. ip4:34.253.219.144/32 no match
  23. ~all softfail
  24. include:_spf_eucentral1.prod.hydra.sophos.com no match
    • _spf_eucentral1.prod.hydra.sophos.com returned softfail
  25. record for _spf_eucentral1.prod.hydra.sophos.com v=spf1 ip4:94.140.18.0/24 ip4:35.159.27.8/30 ip4:35.159.27.28/30 ip4:35.159.27.32/30 ip4:35.159.27.48/29 ip4:35.159.27.160/28 ~all
  26. ip4:94.140.18.0/24 no match
  27. ip4:35.159.27.8/30 no match
  28. ip4:35.159.27.28/30 no match
  29. ip4:35.159.27.32/30 no match
  30. ip4:35.159.27.48/29 no match
  31. ip4:35.159.27.160/28 no match
  32. ~all softfail
  33. include:_spf_useast2.prod.hydra.sophos.com no match
    • _spf_useast2.prod.hydra.sophos.com returned softfail
  34. record for _spf_useast2.prod.hydra.sophos.com v=spf1 ip4:85.113.84.0/24 ip4:103.246.251.0/24 ip4:18.216.23.16/28 ip4:18.216.23.48/28 ip4:18.216.23.15/32 ip4:18.216.13.134/31 ip4:18.216.13.136/32 ~all
  35. ip4:85.113.84.0/24 no match
  36. ip4:103.246.251.0/24 no match
  37. ip4:18.216.23.16/28 no match
  38. ip4:18.216.23.48/28 no match
  39. ip4:18.216.23.15/32 no match
  40. ip4:18.216.13.134/31 no match
  41. ip4:18.216.13.136/32 no match
  42. ~all softfail
  43. ~all softfail

DNS queries

NameTypeResultSourceTime
_spf.prod.hydra.sophos.com TXT NOERROR dns 13.0 ms
_spf_uswest2.prod.hydra.sophos.com TXT NOERROR dns 9.4 ms
_spf_euwest1.prod.hydra.sophos.com TXT NOERROR dns 8.9 ms
_spf_eucentral1.prod.hydra.sophos.com TXT NOERROR dns 11.0 ms
_spf_useast2.prod.hydra.sophos.com TXT NOERROR dns 9.5 ms

Answers marked shared cache came from a recent check by someone else and cost no network round trip; cache means the same name was needed twice within this one evaluation. Entries expire after a minute, so if you have just changed a record, allow that long before the change shows here.