Huh, why wouldn't you want those tables? You seem to be confusing the need to scale with how you would design the system.
Somewhere I worked before we used to import 100,000s of a companies email into the project system to display them against the system. They were all in an Emails table which just stored the body, I think there was an email header table and an email contacts table which was relationally linked directly to the Person table.
Worked fantastically, used to run an IMAP server off those tables for outlook integration.
I wasn't talking about "email" as a use-case, I was talking about "Gmail". Obviously you can serve 1000s of email users using an SQL and IMAP database.
Somewhere I worked before we used to import 100,000s of a companies email into the project system to display them against the system. They were all in an Emails table which just stored the body, I think there was an email header table and an email contacts table which was relationally linked directly to the Person table.
Worked fantastically, used to run an IMAP server off those tables for outlook integration.