spf-query

Code Climate Test Coverage Build Status

The spf-query library searches the SPF records for a host. We assume the host uses standard spf 'selectors', and also check if they use their own 'selector'.

Features

  • Queries and parses SPF records.
  • Supports querying both TXT and SPF records.

Examples

require 'spf/query'

SPF::Query::Record.query('twitter.com')
# => #<SPF::Query::Record: v=spf1 ip4:199.16.156.0/22 ip4:199.59.148.0/22 ip4:8.25.194.0/23 ip4:8.25.196.0/23 ip4:204.92.114.203 ip4:204.92.114.204/31 ip4:107.20.52.15 ip4:23.21.83.90 include:_spf.google.com include:_thirdparty.twitter.com -all>

SPF::Query::Record.parse("v=spf1 ip4:199.16.156.0/22 ip4:199.59.148.0/22 ip4:8.25.194.0/23 ip4:8.25.196.0/23 ip4:204.92.114.203 ip4:204.92.114.204/31 ip4:107.20.52.15 ip4:23.21.83.90 include:_spf.google.com include:_thirdparty.twitter.com -all")
# => #<SPF::Query::Record: v=spf1 ip4:199.16.156.0/22 ip4:199.59.148.0/22 ip4:8.25.194.0/23 ip4:8.25.196.0/23 ip4:204.92.114.203 ip4:204.92.114.204/31 ip4:107.20.52.15 ip4:23.21.83.90 include:_spf.google.com include:_thirdparty.twitter.com -all>

Synopsis

Query a domain:

spf-query google.com
____________________________
SPF record search for google.com
  - found SPF record for google.com at google.com:
  v=spf1 include:_spf.google.com ip4:216.73.93.70/31 ip4:216.73.93.72/31 ~all
____________________________

Query multiple domains:

spf-query trailofbits.com facebook.com yahoo.com
____________________________
SPF record search for trailofbits.com
  - found SPF record for trailofbits.com at trailofbits.com:
  v=spf1 include:_spf.google.com ~all
____________________________

____________________________
SPF record search for facebook.com
  - found SPF record for facebook.com at facebook.com:
  v=spf1 redirect=_spf.facebook.com
____________________________

____________________________
SPF record search for yahoo.com
  - found SPF record for yahoo.com at yahoo.com:
  v=spf1 redirect=_spf.mail.yahoo.com
____________________________

Requirements

Install

$ gem install spf-query

License

See the LICENSE file.