Chris@18: checkDNS($host); Chris@18: } Chris@18: Chris@18: public function getError() Chris@18: { Chris@18: return $this->error; Chris@18: } Chris@18: Chris@18: public function getWarnings() Chris@18: { Chris@18: return $this->warnings; Chris@18: } Chris@18: Chris@18: protected function checkDNS($host) Chris@18: { Chris@18: $variant = INTL_IDNA_VARIANT_2003; Chris@18: if ( defined('INTL_IDNA_VARIANT_UTS46') ) { Chris@18: $variant = INTL_IDNA_VARIANT_UTS46; Chris@18: } Chris@18: $host = rtrim(idn_to_ascii($host, IDNA_DEFAULT, $variant), '.') . '.'; Chris@18: Chris@18: $Aresult = true; Chris@18: $MXresult = checkdnsrr($host, 'MX'); Chris@18: Chris@18: if (!$MXresult) { Chris@18: $this->warnings[NoDNSMXRecord::CODE] = new NoDNSMXRecord(); Chris@18: $Aresult = checkdnsrr($host, 'A') || checkdnsrr($host, 'AAAA'); Chris@18: if (!$Aresult) { Chris@18: $this->error = new NoDNSRecord(); Chris@18: } Chris@18: } Chris@18: return $MXresult || $Aresult; Chris@18: } Chris@18: }