Module: DkimParse

Defined in:
lib/dkim_parse.rb,
lib/dkim_parse/version.rb

Constant Summary collapse

VERSION =
"0.0.2.1"

Class Method Summary collapse

Class Method Details

.check_host(host, resolver = Resolv::DNS.new) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/dkim_parse.rb', line 6

def self.check_host(host, resolver=Resolv::DNS.new)
  begin
    host_without_tld = host[0...host.rindex('.')]
  rescue
    raise StandardError.new('host'), "invalid hostname"
  end
  defaults = %W[default dkim google #{host_without_tld}]
  defaults.uniq!
  puts "  - using selectors: #{defaults}"
  dkim = nil
  defaults.each do |selector|
    record_path = "#{selector}._domainkey.#{host.downcase}"
    begin
      dkim = resolver.getresource(record_path, Resolv::DNS::Resource::IN::TXT).strings.join
      dkim = {:record =>dkim, :record_path=>record_path}
      break
    rescue Resolv::ResolvError
    end
  end
  dkim
end