What is an efficient way to store sent emails for a email list database? I'm having some trouble figuring it out.
Right now, to simplify I have something like this:
Lists:
ID,
Name
Subscribers:
ID
Email
Name
ListSubscribers:
ID
SubscriberID
ListID
Messages:
ID
Title
Content
ListID
So far so good... The problem is figuring out what is an efficient way to store sent and to be sent emails as well as email sending status.
For instance, I might have hundreds of lists with each one having tens of thousands of subscribers. To know the status of each mail, I would have to store the details about each message:
MessageStatus:
ID
MessageID
SubscriberID
Status (processing, sent, soft bounce, hard bounce)
With a handful of lists and hundreds of thousands of subscribers this can balloon to millions of messages in just a few days.
Is there a more efficient way to do this?