Module: ValidateEmail
- Defined in:
- lib/ValidateEmail.rb
Class Method Summary collapse
Class Method Details
.validate(email, validate_mx = false) ⇒ Object
4 5 6 7 8 9 10 |
# File 'lib/ValidateEmail.rb', line 4 def self.validate(email, validate_mx = false) email_pattern = (email =~ /^[a-zA-Z][\w\.\+-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/) is_valid = email_pattern.nil? ? false : true is_valid = validate_mx_record(email) if is_valid && validate_mx return is_valid end |
.validate_mx_record(email) ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/ValidateEmail.rb', line 12 def self.validate_mx_record(email) domain = email.match(/\@(.+)/)[1] Resolv::DNS.open do |dns| @mx = dns.getresources(domain, Resolv::DNS::Resource::IN::MX) end @mx.size > 0 ? true : false end |