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 "[email protected]" 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.
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.
> 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.
On the backend send an email and let the user confirms.