def valid?
      return false unless @domain
      Timeout.timeout(SERVER_TIMEOUT) do
        return true if valid_mx_records?
        return true if a_records?
      end
    rescue Timeout::Error, Errno::ECONNREFUSED
      false
    end
def valid?
      return false unless @domain
      Timeout.timeout(SERVER_TIMEOUT) do
        return true if valid_mx_records?
        return true if a_records?
      end
    rescue Timeout::Error, Errno::ECONNREFUSED
      false
    end
Returns a new instance of Domain

 @param domain [String] The domain name.

 @example EmailChecker::Domain.new('google.com')
 Checks if the domian exists and has valid MX and A records.

 @return [Boolean]