算法发送电子邮件通知

时间:2014-04-08 07:12:02

标签: php mysql email notifications cron

我坚持使用算法来为用户发送邮件通知。网站建立在PHP 5.4和MySQL 5.5之上。

我在我正在处理的网站上构建了简单的一对一消息传递系统,这些消息存储在数据库中。任务是在上午9:00发送每日电子邮件,并在用户有一些未读消息等待他时发出通知。

我现在完成它的方式是:

  1. 我使用cron运行脚本(每10分钟一次)来收集来自' messages_table&#39 ;;
  2. 根据收集的数据,我计算每个用户在该数据库上有多少条未读消息,然后我为每个用户制作个性化消息,并将该消息存储在' mailing_queue_table'并设置在明天上午9点(如果它是今天上午9点)或今天上午9点(如果它已经过了当天午夜)在明天发送此消息的时间。在' notifications_work_table' ID已更新为上次检查的消息ID;
  3. 并行我用cron运行另一个脚本(也是每10分钟一次)检查是否有任何要发送的消息,如果now()时间已经过去,我需要从' mailing_queue_table&发送消息#39 ;.在一次尝试中,我只发送了100封电子邮件。
  4. 当用户在线并且正在即时阅读消息时,问题就从那里开始。例如,用户在8:05收到一条消息,收集未读数(第一点)在8:10运行,但是用户然后在8:12读取此消息,然后存储个性化消息(第3点)有错误信息在那里铺设,然后我必须再次运行删除查询以从队列中取消它。

    在写这个问题时,我想到如果用户在某种间隔时间内在线,我可以检查一下,然后检查我应该给他发送通知,还是他在网站上如此活跃,那里没有必要存储在队列中然后发送邮件。

    也许你有一些好的文献或教程来正确地做这些事情。例如,Facebook是发送通知的绝佳示例,但很难找到好的材料。也许你有一些想法,你已经在编程生涯中经历过并可以与我们分享。

    谢谢,

    /罗布

0 个答案:

没有答案