3.1. Design of the Mailing List

A mailing list allows users to send one message to multiple recipients. A user who has registered with the service is able to send a message to a special e-mail address and all other subscribed members will receive a copy of it. This application will allow participants to:

  • Subscribe and unsubscribe from the list

  • Configure their accounts to receive individual messages as they are sent to the list throughout the day or to receive a daily digest e-mail aggregating all the individual messages

  • Send messages to one central address and have it forward to all members on the list

This project makes use of two e-mail accounts — one to which messages for redistribution will be sent and another where specially crafted messages can be sent for users to manage their membership preferences. Administrative messages will be nothing more than a blank e-mail but with the appropriate command provided in the subject line. The commands that will be available are:

SUBSCRIBESubscribe the e-mail address to the mailing list
UNSUBSCRIBERemove the address from the mailing list
SET +DIGESTSet the member's preference to receive the daily digest message
SET −DIGESTSet the member's preference to receive individual messages
HELPReply with a list of available commands and other helpful information

Chapter 1 shows how an e-mail message may contain multiple parts. For the sake of simplicity, the mailing list will only accept plain text messages from subscribers. It will extract the plain-text ...

Get PHP and MySQL®: Create-Modify-Reuse now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.