There's something you can do in between - you can check the domain has an MX record.

Yes, and the MX check is pretty simple to implement.

But it is still lots more complicated than copying some imperfect email address regex, and for many sites, it's unlikely to even be worth spending much more effort than that.

Realistically, many sites can defacto choose to accept email addresses of few patterns. If a user's email address happens to be rejected, then they are either a non-technical user who quickly learns that they need a more commonly accepted email address, or a techie, who keeps a backup email address for these cases, and rightfully holds a grudge.

Most sites just aren't going to care enough to do anything more complex, for annoyed techies.

See also, IPv6 support.

And yes, I get annoyed if a site doesn't accept my domain-under-a-less-common-tld, or doesn't support IPv6. :)

Technically you don't need an MX record to receive mail. From RFC 5321:

> If an empty list of MXs is returned, the address is treated as if it was associated with an implicit MX RR, with a preference of 0, pointing to that host.

I don't know if most MTAs allow this though.