When SMTP was first implemented, there were a great deal of limitations in the character set that could be recognised.
Blank spaces in email addresses were not supported, hence the requirement to introduce a "separator" character that wasn't already reserved for some other special purpose.
I can't be bothered to read the RFC that laid down the bones of SMTP, but there are a raft of reserved characters that cannot be used in addresses, such as "?", "=", "&" etc. etc.
Underscore is frequently used as a name separator, but is more cumbersome and error-prone than "."
Note that the format of the characters that precede the "@" is subject to less stringent requirements than the domain portion of the email address - hence either
[email protected] or
[email protected] is valid but never saab.dastard@pprune_org
SD