$dnsRecordsResult =
$this->dnsGetRecord->
getRecords($host,
static::DNS_RECORD_TYPES_TO_CHECK
);
if ($dnsRecordsResult->
withError()) { $this->error =
new InvalidEmail(new UnableToGetDNSRecord(), ''
);
return false;
} $dnsRecords =
$dnsRecordsResult->
getRecords();
// No MX, A or AAAA DNS records
if ($dnsRecords ===
[]) { $this->error =
new InvalidEmail(new ReasonNoDNSRecord(), ''
);
return false;
} // For each DNS record
foreach ($dnsRecords as $dnsRecord) { if (!
$this->
validateMXRecord($dnsRecord)) { // No MX records (fallback to A or AAAA records)
if (empty($this->mxRecords
)) { $this->warnings
[NoDNSMXRecord::CODE
] =
new NoDNSMXRecord();
} return false;
}