This class can be used to queue newsletters in a MySQL database for delivering later.
It can add newsletter messages to a queue that is actually a table in a MySQL database. It stores the message sender, recipient, subject and the body text.
A separate process, eventually started by a task scheduler program like cron, calls the class queries the queue database table to retrieve the details of the messages pending to be delivered.
When a pending message is delivered, the respective database record is removed.
Each run of the delivery process only execute for a limited period of time.
Prize: One copy of the Zend Studio
|Many sites need to send newsletters to their subscribers.
When the newsletters have many subscribers, it may not be possible to send the messages to all users within the PHP script execution limit. In shared hosting it may also not be possible to increase that limit.
This class implements an alternative solution that consists in storing the newsletter messages and the subscriber e-mail addresses in a MySQL database table.
This way, a PHP script started periodically, for instance by a task scheduler like cron, can take care of the delivery. It sends small batches of newsletter messages, so it does not exceed the PHP execution time limit.