DNS checking through Ruby
require 'resolv'
require 'benchmark'
domain_list = %w(gmail.com yahoo.com yahoo.com.br ymail.com rocketmail.com
bol.com.br hotmail.com hotmail.com.br live.com msn.com ig.com.br globomail.com
oi.com.br pop.com.br inteligweb.com.br r7.com folha.com.br zipmail.com.br email-errado-blabla.com.br)
dns = Resolv::DNS.new
bm = Benchmark.measure {
domain_list.each do |domain|
puts "Resolving MX records for #{ domain }..."
mx_records = dns.getresources domain, Resolv::DNS::Resource::IN::MX
if mx_records.empty?
puts "No MX records for #{ domain }. Skipping it."
puts '-'*50
next
else
mx_records.each{ |mx| puts mx.exchange.to_s }
puts '>>>>>>>>>> OK!'
end
puts '-'*50
end
}
puts '********** TOTAL TIME ***********'
puts bm