0

我需要设置我的应用程序,以便为我的社交网站定期发送电子邮件。基于用户交互,电子邮件的频率将非常零星。例如,我的网站有一个 QnA 模块 - 我允许用户关注问题,因此每次发布答案时,该问题的所有关注者都会收到一封电子邮件。

我正在考虑使用 cron 作业来实现这一点,该作业会以 5-10 分钟的间隔在后台定期运行。这个想法是,每当进行更新时,都会在包含收件人列表和电子邮件正文的数据库中输入一个条目。然后,一个 cron 作业将定期检查数据库中的任何此类作业并执行它,在该作业上该作业将被标记为已执行。

我想知道是否有任何开源可以帮助我。我只需要在后台发送电子邮件的代码,我只需要提供要发送到的电子邮件的数据库表以及电子邮件正文。

4

3 回答 3

1

使用 php 的Mail() 使用 PHP
发送批量电子邮件
使用 PHP 发送大量电子邮件 使用
PEAR/Mail_Queue 发送 10,000 多封电子邮件的最佳方式
如何调试似乎没有运行的 PHP CRON 脚本?
用于执行 PHP 程序的 Cron 作业

如果您已经拥有编写自己的 php 脚本的数据库并不难,只需使用默认的 mail() 或其他一些 lib(如建议的 swift)函数并将其从数据库中放入元素,然后只需使用 cron 运行该脚本。当然我可能是错的,因为我是 python 程序员,但在我看来,它只是一个带有循环的邮件函数和一些 SQL 查询,例如每分钟发送 5 封邮件。

优点:

  • 你会学到一些东西(很可能)。
  • 与搜索需要一些适合您需要的编辑的开源替代方案相比,您将花费更少的时间。
于 2011-05-15T12:04:40.013 回答
0

看看 Swift 邮件程序 ( http://swiftmailer.org ) 和 phpMailer ( http://phpmailer.worxware.com )。

于 2011-05-15T11:58:04.817 回答
0

假设你的服务器有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
    }
}
于 2011-05-15T12:07:04.743 回答