【发布时间】:2011-12-31 19:40:12
【问题描述】:
我有一项服务,可以在 x 天后向输入的电子邮件发送文本。我想使用 cron,但我知道因为我的 PHP 脚本使用变量,所以这行不通。如何更改我的 PHP 或做任何可以让我使用 cron(甚至其他东西)的事情?我只需要一些东西来存储电子邮件然后发送它们。我是真的 PHP 新手,所以请保持简单。
这是我的代码:
<?php
if(isset($_POST['email']))
{
$headers = "From: Memory Jet <your_company@example.com>\r\n";
$to_visitor = $_POST["email"];
$common_data = $_POST["message"];
mail($to_visitor, "Your Memory", $common_data, $headers);
}
?>
【问题讨论】:
-
刚接触PHP,你用过数据库吗?熟悉将数据持久化到数据库将使这更容易,因为您的站点可以在数据库中将电子邮件消息排队,然后您的 cron 执行的 PHP 脚本可以检查数据库中的电子邮件消息以发送和发送它们。这将有效地将 Web 应用程序与计划的应用程序分离,这是一件好事。
-
您能提供一些代码或文档吗?我还没用过数据库
-
php.net/manual/en/book.mysql.php 是一个很好的起点。我假设你会想使用 MySQL 作为你的数据库,而且网上不乏教程。但是请注意,您在网上找到的大量数据库代码存在明显的安全漏洞。这是你想要继续学习和改进的东西,而不仅仅是让它工作和运行。作为初学者,请特别注意“SQL 注入攻击”等主题。如果您知道要寻找什么,它们很容易预防。
-
谢谢,请问safka说的方法我也可以用吗?
-
当然,只要调用脚本的任何人(我认为这是一个自动化的
cron工作)都知道电子邮件地址是什么。如果这最终要求您为每封要发送的电子邮件动态排队 cron 作业,我不推荐它。但我不知道你的设置,所以可能不是这样。无论如何,能够在数据库中跨应用程序持久化数据是值得学习的。