23 lines
507 B
Ruby
23 lines
507 B
Ruby
module EmailMethods
|
|
extend ActiveSupport::Concern
|
|
|
|
private
|
|
|
|
def canonical_email(email)
|
|
local_part, domain = email.split("@")
|
|
|
|
local_part.sub!(/\+.*$/, "")
|
|
|
|
local_part.delete!(".") if %w[gmail.com googlemail.com].include?(domain)
|
|
|
|
"#{local_part}@#{domain}"
|
|
end
|
|
|
|
##
|
|
# get list of MX servers for a domains
|
|
def domain_mx_servers(domain)
|
|
Resolv::DNS.open do |dns|
|
|
dns.getresources(domain, Resolv::DNS::Resource::IN::MX).collect { |mx| mx.exchange.to_s }
|
|
end
|
|
end
|
|
end
|