module SPF::Query
Constants
- VERSION
spf-query version
Public Class Methods
query(domain,resolver=Resolv::DNS.new)
click to toggle source
Queries the domain for it's SPF
record.
@param [String] domain
The domain to query.
@param [Resolv::DNS] resolver
The optional resolver to use.
@return [String, nil]
The SPF record or `nil` if there is none.
@api semipublic
# File lib/spf/query/query.rb, line 20 def self.query(domain,resolver=Resolv::DNS.new) # check for SPF in the TXT records ["_spf.#{domain}", domain].each do |host| begin records = resolver.getresources(host, Resolv::DNS::Resource::IN::TXT) records.each do |record| txt = record.strings.join if txt.include?('v=spf1') return txt end end rescue Resolv::ResolvError end end # check for an SPF record on the domain begin record = resolver.getresource(domain, Resolv::DNS::Resource::IN::SPF) return record.strings.join(' ') rescue Resolv::ResolvError end return nil end