SPF.Guru

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
6 of 10
Void lookups
0 of 2
DNS queries
7
Elapsed
56 ms

How it was evaluated

  1. record for email.freshdesk.com v=spf1 include:sendgrid.net include:fdspfus.freshemail.io include:fdspfeuc.freshemail.io include:fdspfind.freshemail.io include:fdspfaus.freshemail.io ~all
  2. include:sendgrid.net no match
    • sendgrid.net returned softfail
  3. record for sendgrid.net 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
  4. ip4:167.89.0.0/17 no match
  5. ip4:208.117.48.0/20 no match
  6. ip4:50.31.32.0/19 no match
  7. ip4:198.37.144.0/20 no match
  8. ip4:198.21.0.0/21 no match
  9. ip4:192.254.112.0/20 no match
  10. ip4:168.245.0.0/17 no match
  11. ip4:149.72.0.0/16 no match
  12. ip4:159.183.0.0/16 no match
  13. ip4:134.128.64.0/19 no match
  14. ip4:134.128.96.0/19 no match
  15. include:ab.sendgrid.net no match
    • ab.sendgrid.net returned softfail
  16. record for ab.sendgrid.net 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
  17. ip4:223.165.113.0/24 no match
  18. ip4:223.165.115.0/24 no match
  19. ip4:223.165.118.0/23 no match
  20. ip4:223.165.120.0/23 no match
  21. ~all softfail
  22. ~all softfail
  23. include:fdspfus.freshemail.io no match
    • fdspfus.freshemail.io returned softfail
  24. record for fdspfus.freshemail.io v=spf1 ip4:34.198.193.174 ip4:34.202.174.188 ip4:34.199.167.230 ip4:52.203.5.138 ip4:3.91.171.64/28 ip4:3.219.176.96/29 ip4:3.222.0.112/29 ip4:3.222.0.24/29 ip4:3.222.0.88/29 ip4:3.235.255.160/29 ip4:3.238.137.128/30 ip4:44.192.35.0/24 ip4:18.235.53.110 ip4:54.159.173.91 ~all
  25. ip4:34.198.193.174 no match
  26. ip4:34.202.174.188 no match
  27. ip4:34.199.167.230 no match
  28. ip4:52.203.5.138 no match
  29. ip4:3.91.171.64/28 no match
  30. ip4:3.219.176.96/29 no match
  31. ip4:3.222.0.112/29 no match
  32. ip4:3.222.0.24/29 no match
  33. ip4:3.222.0.88/29 no match
  34. ip4:3.235.255.160/29 no match
  35. ip4:3.238.137.128/30 no match
  36. ip4:44.192.35.0/24 no match
  37. ip4:18.235.53.110 no match
  38. ip4:54.159.173.91 no match
  39. ~all softfail
  40. include:fdspfeuc.freshemail.io no match
    • fdspfeuc.freshemail.io returned softfail
  41. record for fdspfeuc.freshemail.io v=spf1 ip4:35.158.71.15 ip4:35.158.67.243 ip4:3.120.181.192/28 ip4:3.76.65.248/29 ip4:3.72.201.96/29 ip4:3.120.181.204/30 ip4:18.156.147.178 ip4:18.158.161.97 ip4:3.64.95.16/29 ip4:3.65.246.112/29 ip4:3.72.33.56/29 ip4:18.153.184.112/29 ip4:18.153.154.192/29 ip4:18.199.180.160/29 ~all
  42. ip4:35.158.71.15 no match
  43. ip4:35.158.67.243 no match
  44. ip4:3.120.181.192/28 no match
  45. ip4:3.76.65.248/29 no match
  46. ip4:3.72.201.96/29 no match
  47. ip4:3.120.181.204/30 no match
  48. ip4:18.156.147.178 no match
  49. ip4:18.158.161.97 no match
  50. ip4:3.64.95.16/29 no match
  51. ip4:3.65.246.112/29 no match
  52. ip4:3.72.33.56/29 no match
  53. ip4:18.153.184.112/29 no match
  54. ip4:18.153.154.192/29 no match
  55. ip4:18.199.180.160/29 no match
  56. ~all softfail
  57. include:fdspfind.freshemail.io no match
    • fdspfind.freshemail.io returned softfail
  58. record for fdspfind.freshemail.io v=spf1 ip4:13.127.153.86 ip4:52.66.154.99 ip4:13.127.210.61 ip4:3.7.25.40/29 ip4:3.7.196.96 ip4:3.7.127.96 ip4:65.0.37.204/30 ip4:43.204.166.128/29 ip4:65.1.103.160/29 ip4:65.2.2.76/30 ip4:13.200.142.88/29 ip4:13.200.142.120/29 ip4:13.201.195.128/28 ip4:18.96.228.96/29 ip4:18.96.228.100 ~all
  59. ip4:13.127.153.86 no match
  60. ip4:52.66.154.99 no match
  61. ip4:13.127.210.61 no match
  62. ip4:3.7.25.40/29 no match
  63. ip4:3.7.196.96 no match
  64. ip4:3.7.127.96 no match
  65. ip4:65.0.37.204/30 no match
  66. ip4:43.204.166.128/29 no match
  67. ip4:65.1.103.160/29 no match
  68. ip4:65.2.2.76/30 no match
  69. ip4:13.200.142.88/29 no match
  70. ip4:13.200.142.120/29 no match
  71. ip4:13.201.195.128/28 no match
  72. ip4:18.96.228.96/29 no match
  73. ip4:18.96.228.100 no match
  74. ~all softfail
  75. include:fdspfaus.freshemail.io no match
    • fdspfaus.freshemail.io returned softfail
  76. record for fdspfaus.freshemail.io v=spf1 ip4:3.25.47.0/29 ip4:52.62.151.40 ip4:13.237.4.248 ip4:13.211.56.237 ip4:3.26.58.204/30 ip4:54.252.22.127 ip4:54.206.207.130 ip4:3.26.82.216/29 ip4:3.26.88.88/29 ip4:3.26.88.244/30 ip4:3.107.43.16/28 ip4:3.106.23.176/29 ~all
  77. ip4:3.25.47.0/29 no match
  78. ip4:52.62.151.40 no match
  79. ip4:13.237.4.248 no match
  80. ip4:13.211.56.237 no match
  81. ip4:3.26.58.204/30 no match
  82. ip4:54.252.22.127 no match
  83. ip4:54.206.207.130 no match
  84. ip4:3.26.82.216/29 no match
  85. ip4:3.26.88.88/29 no match
  86. ip4:3.26.88.244/30 no match
  87. ip4:3.107.43.16/28 no match
  88. ip4:3.106.23.176/29 no match
  89. ~all softfail
  90. ~all softfail

DNS queries

NameTypeResultSourceTime
email.freshdesk.com TXT NOERROR dns 9.9 ms
sendgrid.net TXT NOERROR shared cache 0.0 ms
ab.sendgrid.net TXT NOERROR shared cache 0.0 ms
fdspfus.freshemail.io TXT NOERROR dns 9.9 ms
fdspfeuc.freshemail.io TXT NOERROR dns 12.2 ms
fdspfind.freshemail.io TXT NOERROR dns 10.9 ms
fdspfaus.freshemail.io TXT NOERROR dns 12.1 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.