Basically the “null MX” protocol is a simple mechanism by which a domain can indicate that it does not accept email. It is described in RFC 7505.
This protocol defines a null MX that will cause all mail delivery attempts to a domain to fail immediately.
A “null MX” RR is an ordinary MX record with an RDATA section consisting of preference number 0 and a “.” as the exchange domain, to denote that there exists no mail exchanger.
nomail.example.com. 86400 IN MX 0 "."
A domain that advertises a null MX MUST NOT advertise any other MX RR.
As Null MX is primarily intended for domains that do not send or receive any mail, vSMTP default behavior is to reject mail that has an invalid return address.
Mail systems should not publish a null MX record for domains that they use in MAIL FROM (RFC5321) or From (RFC5322) directives.
The RFC 7505 defines two specific return codes.
|Text||Recipient address has null MX|
|Basic status code||556|
|Description||The associated address is marked as invalid using a null MX.|
|Text||Sender address has null MX|
|basic status code||550|
|Description||The associated sender address has a null MX, and the SMTP receiver is configured to reject mail from such sender (e.g., because it could not return a DSN).|
This is a DRAFT for v1.2 features
The standard API as a dedicated abstract to check the Null MX record.
// -- main.vsl mail: [ rule "check null MX" || check_null_mx(); ]
Currently, MX records are automatically checked on delivery. If the destination server provide a NULL MX record, the email is immediately placed into the dead queue.