Open janbarasek opened 3 years ago
You don't need MX record. A, or AAAA is sufficient to deliver e-mails.
Also I think checkdnsrr(idn_to_ascii($domain), 'MX'))
should be used. checkdnsrr()
returns bool and idn_to_ascii()
is for domains like ñandu.cl
(var_dump(checkdnsrr(idn_to_ascii('ñandu.cl'), 'MX'));
)
Ideal would imho be to support only fully FQDN - if trailing dot is missing, add it. It should prevent multiple lookups with relative domain name. So instead of google.com
, always look for google.com.
Part after @
can be domain (MX
is required), or hostname (one of MX
, A
, or AAAA
is required). I think checking existence of MX
or A
or AAAA
by checkdnsrr()
is sufficient.
To IDN - yes, idn_to_ascii()
shoud be used, but I'm not sure, default parameters are OK.
@janbarasek can you update PR please?
There was forum post about this 8 years ago https://forum.nette.org/en/1293-mail-adress-validation-mx-records and it contains good points which needs to be solved.
I don't think so
We only want to check that domain/hostname exists, not that they has correctly configured mail delivery. If domain/hostname is wrong, MTA fails immediately (that's what we want to prevent). If domain/hostname is correct, but MX records are incorrect or host is down, MTA will use queue and will try to deliver later.
You don't need MX record. A, or AAAA is sufficient to deliver e-mails.
I just encountered case when it was not. Customer had domain with only MX for sending emails and no A or AAAA records.
And the conclusion?
E-mail should be valid only in case of domain name use valid
MX
DNS record.Examples: