But I think if you take "local" out of the equation, as you would for customer emails, you can validate a bit more. You might be able to validate on a single @ being in there somewhere, with something before and after it, maybe look for a period after the @ for "addr@domain.tld" as I think every external address needs a dotted domain.
That's about as far as I think you can safely go. Anything else is legal.
> as I think every external address needs a dotted domain.
Something like example@com is technically a valid email address; although I don't know if there are any TLDs which accept emails.
I don't think I've ever seen a bare TLD in real life like that though--maybe very early on as DNS became a thing? Not since the web though.
I usually just recommend people don't validate email addys and let the email verification message do the job for you. This is pretty much why.
On the backend send an email and let the user confirms.