我需要设置我的应用程序,为我的社交网站定期发送电子邮件。基于用户交互,电子邮件的频率将非常零星。FOr示例我的网站有一个QnA模块-我允许用户关注问题,所以每次发布答案时,所有问题的追随者都会收到一封电子邮件。
我正在考虑使用cron作业来实现这一点,该作业将以5-10分钟的间隔定期在后台运行。其想法是,每当进行更新时,都会在数据库中创建一个条目,其中包含收件人列表和电子邮件正文。然后,cron作业将定期检查数据库中的任何此类作业,并执行该作业,作业将被标记为已执行。
我想知道是否有什么开源的东西可以在这里帮助我。我只需要在后台发送电子邮件的代码,所有我必须提供的是电子邮件发送到的数据库表以及电子邮件的主体。
发布于 2011-05-15 20:04:40
Best way to send 10,000+ emails with PEAR/Mail_Queue
How can I debug a PHP CRON script that does not appear to be running?
Cron job to execute a PHP program
如果你已经有了数据库,编写你自己的php脚本并不是很难,只需使用default mail()或其他lib函数(如建议的swift)并将其元素放入数据库中,然后使用cron运行该脚本即可。当然,我可能错了,因为我是python程序员,但在我看来,它只是一个带有循环的邮件函数和一些SQL查询,例如每分钟会给出5封邮件。
它的优点:
发布于 2011-05-15 19:58:05
看看Swift mailer (http://swiftmailer.org)和phpMailer (http://phpmailer.worxware.com)吧。
发布于 2011-05-15 20:07:05
假设您的服务器有mail(),您应该能够执行以下操作
$sql = ;//Sql query to grab data
$rs = ;// Result of sql query
if(sizeof($rs) > 0)
{
foreach($rs as $item)
{
mail($to, $subject, $message, $headers);
// SQL query to update rows saying its been sent out or something like that
}
}https://stackoverflow.com/questions/6008181
复制相似问题