I'm setting up a subscription site using PHP that will allow admins to set up schedules (monthly, weekly, daily, all down to the minute) for when emails will be sent out to subscribers. Is there a plugin, extension, or even a library, that allows me to send these emails based on a predetermined schedule?
I thought of setting a cron script to check every minute for pending emails, but with amount of traffic I'm estimating for my site I'm worried that it would put too much of a strain on my servers.
It would also be nice if this plugin, extension, etc, could provide analytic data in return. But that's definitely not vital.
The cronjob service itself takes little resources. It is the work that is done by the scripts it calls that have any impact whatsoever on your server. This means that whatever approach you use to send emails regularly, cronjob, or something else, the load the server takes by sending those mails will be the same. So if your server is slowing down too much, you probably need a dedicated server or more resources. The cron services itself does slow anything down (unless you are calling it like 10 times a second)
You could call php script from outside, from somewhere where you will be able to setup scheduled calls (may be your PC or other hosting service). Most shared hostings supporting schedules. Look into control panel (cpanel, plesk, ...):