|
|
1
3
PEAR::Mail_Queue 以及相关教程。 您可以在10分钟脚本运行时对邮件进行排队,并通过cron作业每隔10分钟清空一次邮件队列。您还可以让邮件队列每分钟清空一次,并在有问题的邮件的队列中实现一个“请勿提前发送”时间。
这可以通过记录您上次发送警报的时间来实现(这样您就不会错过任何警报,也不会发送两次警报) 希望有帮助。 |
|
|
2
3
我最近刚刚用PHP和MySQL为一个非常类似的问题编写了自己的解决方案。
允许我将参数存储到数据库以使我的新闻稿脚本更有用。您可以使用数组$argv来获取参数,$argv[0]是参数按顺序跟随的脚本名称。 我将所有的新闻稿信息存储在数据库中一个单独的表中,该表按时间顺序对它们进行排序。另一个重要字段是电子邮件的主题和正文。然后我只需将两个参数传递给newsletter.php,使其完全符合我的要求:newsletter number和subscriber number(或all)。 测试时间(10分钟前)可以用这样的方法完成(为了更容易理解,我过度简化了):
您需要将时区更改为自己的时区,并以某种方式从数据库中提取日期和时间信息。
|
|
|
3
1
PHP解决方案我已经考虑了你的问题多一点,这是PHP的解决方案,我想出了。
调度程序.php
您应该在bash脚本中运行此脚本,以查看它的功能。而且代码已经被很好地记录了。脚本应该永远运行(在后台)。 Java解决方案这也不是一个只有PHP的解决方案 谷歌应用引擎解决方案我知道这不是一个PHP解决方案,但当你不能安装一个消息队列我认为谷歌应用程序引擎是最好的解决方案 . 当我看到这个的时候 video introduction 从brettslatkin到使用pythonsdk的googleappengine,我被卖给了googleappengine。这只需要10分钟的时间,您将学习如何创建一个基本的留言簿并将其部署到云中。下面如果有兴趣,我将试图解释哪些部分你需要做谷歌的应用程序引擎这一点。
taskqueue 完成任务。taskqueue甚至还有一个 eta 可以设置为在特定时间运行。谷歌应用引擎有一个慷慨的 free quota . 您可以添加 100,000 每天免费排队参加任务。
mail 服务。它也有一个慷慨的免费配额(每天2000个收件人)。我建议您只需从队列中调用邮件api即可发送消息。 |
|
|
4
0
|
|
|
5
0
您希望多久发送一次电子邮件?如果它出现(在现有cronjob发现它的那一分钟,即每10分钟一次),您可以让查找“提醒我”标志的脚本执行以下操作:
数组中的每个元素都引用tasks表的一个主键,这里我使用了“tasks”。 2-数据库查找完成后,查看$reminders是否不为空,然后运行如下查询
3-使用以下方式向自己发送包含此数据的电子邮件 mail .
|