Looking at a domain like this for example: clarionhg.com
Doing dns_get_record("clarionhg.com", DNS_MX); returns
[
[
"host" => "clarionhg.com",
"class" => "IN",
"ttl" => 752,
"type" => "MX",
"pri" => 10,
"target" => "clarionhg-com.mail.protection.outlook.com",
],
[
"host" => "clarionhg.com",
"class" => "IN",
"ttl" => 752,
"type" => "MX",
"pri" => 10,
"target" => "",
],
]
You can see they have a valid MX record (first one) but they also have an invalid one with an empty target. This causes the check in DNSCheckValidation->validateMxRecord to return a DomainAcceptsNoMail error and the whole check to fail.
This is wrong - even though the domain DNS is misconfigured it still contains a valid MX record ( the first one ) so it should pass.