如何从数据库中自动触发电子邮件发送

时间:2013-12-10 16:55:41

标签: php mysql

你好,我在这里遇到一些问题。我在我的mysql数据库中有一条消息,我希望根据预定日期发送有任何方法可以执行此操作:何时是服务器应该自己发送邮件的确切日期,或者无论如何都要进行页面加载我每天都无法发送电子邮件(如果没有人访问该网站)。谢谢。我正在使用php和mysql db。我已在我的数据库中安排了专栏

2 个答案:

答案 0 :(得分:2)

您可以使用cron job来调用脚本,该脚本以设定的间隔(可能每小时一次)检查数据库,然后让该脚本提取相关消息并发送它们。

对此的cron看起来像:

0 * * * * /path/to/email/script.php

然后,此脚本可以查询数据库并发送需要发送的消息。当然,您可以将其设置为每分钟运行一次(* * * * *),但我会非常警惕每一分钟都运行任何脚本!

这不是一个理想的想法,而是应该考虑使用某种形式的队列管理。如果您查看queues.io,您可以找到有关各种流行队列项目项目的大量信息。

我也发现setting up background jobs using resque上的这篇文章非常有帮助!

当然,如何集成这样的系统在很大程度上取决于您的代码库和您的环境。

有些框架很好地集成了这种功能,我与Laravel 4's queue component进行了很多合作,而且确实很容易使用它。

实际上很多人最终都会使用cron / script组合来完成这项工作,但重要的是要知道还有其他(更好)的方法来实现这一目标。

答案 1 :(得分:0)

在不中断CPU利用率的情况下执行此操作的最佳方法是通过服务器上的计划cron任务进行计划。编写代码以发送电子邮件,然后将该页面添加到服务器管理控制面板中的每日cron。