code: func (mock *MockDNSClient) LookupMX(_ context.Context, domain string) ([]string, error) {
  	switch strings.TrimRight(domain, ".") {
  	case "letsencrypt.org":
  		fallthrough
  	case "email.only":
  		fallthrough
  	case "email.com":
  		return []string{"mail.email.com"}, nil
  	case "always.error":
  		return []string{}, &DNSError{dns.TypeA, "always.error",
  			&net.OpError{Err: errors.New("always.error always errors")}, -1}
  	case "always.timeout":
  		return []string{}, &DNSError{dns.TypeA, "always.timeout", MockTimeoutError(), -1}
  	}
  	return nil, nil
  }
docs: // LookupMX is a mock
  //
  // Note: the email.only domain must have an MX but no A or AAAA
  // records. The mock LookupHost returns an address of 127.0.0.1 for
  // all domains except for special cases, so MX-only domains must be
  // handled in both LookupHost and LookupMX.
  //