Skip to content

Instantly share code, notes, and snippets.

@miharekar
Forked from superscott/Main.rb
Last active August 29, 2015 13:57
Show Gist options
  • Save miharekar/9637454 to your computer and use it in GitHub Desktop.
Save miharekar/9637454 to your computer and use it in GitHub Desktop.
class EmailDomainValidator
attr_reader :domain
def initialize(email)
email = Mail::Address.new(email_string)
@domain = email.domain
end
def valid?
email.domain.present? && (registered? || operational?)
end
private
def registered?
begin
lookup = Whois.whois(@domain)
lookup.registered?
rescue Whois::ServerNotFound
false
end
end
def operational?
begin
!!Resolv.getaddress(@domain)
rescue Resolv::ResolvError
false
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment