Hi internals,

I would like to gather feedback before drafting an RFC for a small addition
to PHP's DNS functions:

    dns_check_mx(string $hostname): bool

The function would check whether a hostname has at least one non-null MX
record.

Today, checkdnsrr($domain, "MX") correctly returns true for a domain
publishing a Null MX record:

    example.com. IN MX 0 .

This is correct, since an MX record exists. However, RFC 7505 (
https://www.rfc-editor.org/rfc/rfc7505.html) defines this as an explicit
signal that the domain does not accept email.

I am not proposing any change to checkdnsrr(). It should remain a low-level
DNS record existence check.

Proposed behavior:
- false when there are no MX records;
- false when all MX records are Null MX records;
- true when at least one MX record has an exchange target other than ".".

This would not validate email deliverability or perform SMTP-level checks.
It would only provide a DNS-level distinction between "has an MX record"
and "has a non-null MX record".

If there is interest in this direction, I am willing to work on the RFC and
implementation.

I would appreciate feedback on the scope, naming, and edge cases before
preparing an RFC.

Regards,
Samuel Fontebasso

Reply via email to