As part of my new and upcoming project, part of the business logic involves sending each and every one of my customers (assume they number in their 1000s) multiple (possibly customized) emails.
Each of these emails will have a:
- To Field (can take list of emails)
- CC Field (can take list of emails)
- BCC Field (can take list of emails)
- Email Body
The Email body will be HTML, and will have in it placeholders where my code can inject values (e.g. a placeholder for Order No, where the code will then inject the Order No for that customer).
If the Customer is new, he/she will receive an extra email (making the total three), if on the other hand they are an old customer, he/she will only receive two emails.
Certain customers might wish some different information displayed on their emails, so my database design need to account for this. E.g. Customer John Smith might want his emails to also list the 'Item Color', where as Emma Watson is not too fussed about that detail, and does not want that listed in the emails.
If customers have not explicitly mentioned that they want customized emails sent, then a Standard Template email is sent.
I believe this is a Many to Many relationship between the Customers and the Emails, so my ERD is very simple! After examining my business logic above, have I missed anything in the ERD below?
UPDATE: ERD updated AGAIN after Joel Brown's input.