1 # frozen_string_literal: true
 
   4   extend ActiveSupport::Concern
 
   8   def canonical_email(email)
 
   9     local_part, domain = email.split("@")
 
  11     local_part.sub!(/\+.*$/, "")
 
  13     local_part.delete!(".") if %w[gmail.com googlemail.com].include?(domain)
 
  15     "#{local_part}@#{domain}"
 
  19   # get list of MX servers for a domains
 
  20   def domain_mx_servers(domain)
 
  21     Resolv::DNS.open do |dns|
 
  22       dns.getresources(domain, Resolv::DNS::Resource::IN::MX).collect { |mx| mx.exchange.to_s }