def mxers
      return [["example.com", "0.0.0.0", 1]] if @config[:dns_lookup] == :off
      @mxers ||= Resolv::DNS.open do |dns|
        ress = dns.getresources(@host, Resolv::DNS::Resource::IN::MX)
        records = ress.map do |r|
          begin
            if r.exchange.to_s > " "
              [r.exchange.to_s, IPSocket::getaddress(r.exchange.to_s), r.preference]
            else
              nil
            end
          rescue SocketError # not found, but could also mean network not work or it could mean one record doesn't resolve an address
            nil
          end
        end
        records.compact
      end
    end
def mxers
      return [["example.com", "0.0.0.0", 1]] if @config[:dns_lookup] == :off
      @mxers ||= Resolv::DNS.open do |dns|
        ress = dns.getresources(@host, Resolv::DNS::Resource::IN::MX)
        records = ress.map do |r|
          begin
            if r.exchange.to_s > " "
              [r.exchange.to_s, IPSocket::getaddress(r.exchange.to_s), r.preference]
            else
              nil
            end
          rescue SocketError # not found, but could also mean network not work or it could mean one record doesn't resolve an address
            nil
          end
        end
        records.compact
      end
    end
Returns: [["mta7.am0.yahoodns.net", "66.94.237.139", 1], ["mta5.am0.yahoodns.net", "67.195.168.230", 1], ["mta6.am0.yahoodns.net", "98.139.54.60", 1]]
 If not found, returns []
 Returns a dummy record when dns_lookup is turned off since it may exists, though
 may not find provider by MX name or IP. I'm not sure about the "0.0.0.0" ip, it should
 be good in this context, but in "listen" context it means "all bound IP's"