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 }