Last active
August 29, 2015 14:23
Revisions
-
pchaigno revised this gist
Jul 12, 2015 . 1 changed file with 13 additions and 10 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -30,19 +30,22 @@ def check_domain(domain) failed = 0 tot = 0 start = false Swot.each_domain { |domain| if domain.to_s begin if check_domain(domain.to_s) puts "Seems okay: #{domain}" else puts "No record: #{domain}" failed += 1 end rescue => e puts "Error: #{domain}" raise end tot += 1 end } puts "Failed: #{failed}/#{tot}" -
pchaigno revised this gist
Jul 5, 2015 . 1 changed file with 5 additions and 10 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -13,7 +13,9 @@ def resolve_mx(domain) def resolve_a(domain) mxs = Resolv::DNS.open do |dns| ress = dns.getresources(domain, Resolv::DNS::Resource::IN::A) ress.map { |r| r.address } end return mxs end @@ -22,14 +24,7 @@ def check_domain(domain) www_domain = "www.#{domain}" mx_domain = "mx.#{domain}" mail_domain = "mail.#{domain}" return resolve_mx(domain).length > 0 || resolve_a(domain).length > 0 || resolve_a(www_domain).length > 0 || resolve_mx(mx_domain).length > 0 || resolve_mx(mail_domain).length > 0 end @@ -40,7 +35,7 @@ def check_domain(domain) if check_domain(domain.domain) puts "Seems okay: #{domain}" else puts "No record: #{domain}" failed += 1 end rescue => e -
pchaigno revised this gist
Jul 3, 2015 . 1 changed file with 11 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -19,7 +19,17 @@ def resolve_a(domain) end def check_domain(domain) www_domain = "www.#{domain}" mx_domain = "mx.#{domain}" mail_domain = "mail.#{domain}" return resolve_mx(domain).length > 0 || resolve_a(domain).length > 0 || resolve_mx(www_domain).length > 0 || resolve_a(www_domain).length > 0 || resolve_mx(mx_domain).length > 0 || resolve_a(mx_domain).length > 0 || resolve_mx(mail_domain).length > 0 || resolve_a(mail_domain).length > 0 end -
pchaigno revised this gist
Jul 3, 2015 . 1 changed file with 9 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -10,11 +10,16 @@ def resolve_mx(domain) return mxs end def resolve_a(domain) mxs = Resolv::DNS.open do |dns| ress = dns.getresources(domain, Resolv::DNS::Resource::IN::A) ress.map { |r| r.exchange.to_s } end return mxs end def check_domain(domain) return resolve_mx(domain).length > 0 || resolve_a(domain).length > 0 end -
pchaigno created this gist
Jun 28, 2015 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,38 @@ require 'helper' require 'net/smtp' require 'resolv' def resolve_mx(domain) mxs = Resolv::DNS.open do |dns| ress = dns.getresources(domain, Resolv::DNS::Resource::IN::MX) ress.map { |r| r.exchange.to_s } end return mxs end def check_domain(domain) resolve_mx(domain).each { |smtp_server| return true } return false end failed = 0 tot = 0 Swot.each_domain { |domain| begin if check_domain(domain.domain) puts "Seems okay: #{domain}" else puts "No MX record: #{domain}" failed += 1 end rescue => e puts "Error: #{domain}" raise end tot += 1 } puts "Failed: #{failed}/#{tot}"