【问题标题】:How to use a php email variable with cron using a database如何在使用数据库的 cron 中使用 php 电子邮件变量
【发布时间】:2012-01-02 00:39:34
【问题描述】:

我正在尝试创建一项服务,其中一些人会输入消息或提醒,然后将在 x 天后存储和发送。我不确定如何存储它然后发送它。我想使用 cron,因为它使用电子邮件变量,所以我将不得不使用数据库。我对 PHP 很陌生,所以我根本不知道该怎么做。我会放上我的 php 代码,我想知道该怎么做,这样电子邮件和消息就会被存储然后发送。这是我的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);

} ?>

如何使用此代码实现 mySQL 数据库?我该怎么办? 非常感谢! -本

【问题讨论】:

  • 好吧,将电子邮件和消息连同应该发送的时间一起存储在数据库中。每 x 分钟运行一次 cron 作业,它会获取现在应该从数据库发送的所有未发送消息并发送它们。
  • 对不起,我不清楚。那是我的想法。但是我对数据库一无所知,所以您可能有任何代码或文档吗?
  • 那么您可能想从那里阅读无数 PHP + 数据库教程之一开始,如果您有具体问题,请返回。

标签: php email variables cron


【解决方案1】:

您的数据库表基本上包含以下内容:

id - some record identifier
message - text of the message
to - recipient
from - sender
date_to_send - date to send message on
sent - boolean flag indicating pending/already sent

您将拥有一个单独的 php 脚本,该脚本将提取“date_to_send”为过去且尚未发送的所有消息:

SELECT id, message, to, from
FROM yourtable
WHERE (date_to_send < now()) AND (sent = false)

您将遍历这些结果,发送任何需要发送的消息,然后更新记录以表明它们已发送。

请注意,from 几乎可以保证是您数据库中的保留字。此“代码”只是一个示例,不应按字面意思剪切/粘贴。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-18
    相关资源
    最近更新 更多