I understand that the first email regex is simplified and as a result doesn't handle oddities such as weird symbols, quotations and IP addresses, but it should be able to handle modern TLDs. Not only do you have names longer than 4 characters, but internationalised domain names starting with --.
https://en.wikipedia.org/wiki/List_of_Internet_top-level_dom...
Depending how simple you want it either:
\b[A-Z0–9._%+-]+@[A-Z0–9.-]+\.(xn--[A-Z0-9]|[A-Z]+)\b
or simpler:
\b[A-Z0–9._%+-]+@[A-Z0–9.-]+\.[A-Z0-9-]+\b
However you could argue that validating email via regex misses the point entirely. A simple, permissive regex is all you really need assuming you are actually sending an email to check that the account exists.