需要有关使用 cron 作业基于 MySQL 数据库查询创建自动电子邮件提醒的 PHP 脚本的指导

问题描述 投票:0回答:1

我目前在一家公司实习,作为我职责的一部分,我的老板要求我开发一个 PHP 脚本来查询我们公司的 MySQL 数据库,特别是“请求”表,并根据检索到的信息发送自动提醒电子邮件。这是我的第一份工作,我不熟悉 cron 作业和 PHP 中自动发送电子邮件的过程。

以下是我的问题的详细信息:

使命: 构建一个 PHP 脚本来检查“请求”表并找出哪些需要注意。

斗争: 不知道如何使用 cron 作业使该脚本自行运行。 我对用于发送这些提醒电子邮件的 PHP 函数或库一无所知。

尝试的解决方案: 做了一些在线研究并偶然发现了 cron 作业,但实施它们是一个完全不同的故事。 尝试寻找电子邮件的 PHP 函数,但迷失在信息的海洋中。

我感谢任何可以帮助我解决此脚本的指导、教程或示例。

谢谢!

php mysql email automation cron
1个回答
0
投票

您需要的是一个 php 脚本,该脚本从 mysql 数据库中选择一些数据,并向请求中可用的每个电子邮件发送提醒电子邮件。

从数据库获取数据

发送电子邮件

<?php

$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_dbname";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT * FROM requests WHERE request_time <= ".(time() - 3*86400);
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // process each row
    while($row = $result->fetch_assoc()) {
        $to = row["email"]; // Replace with actual recipient email address
        $subject = "Reminder: Action Required";
        $message = "This is a reminder for a request made on " . $row['request_date'] . ". Please take the necessary action.";
        $headers = "From: [email protected]";

        mail($to, $subject, $message, $headers);
    }
} else {
    echo "0 results";
}
$conn->close();
?>

上面的示例选择 request_time 早于 3 天(3*86400 秒)的行,并向表中可用的电子邮件地址发送电子邮件。显然,您必须根据您的需要和数据库修改此代码。这只是一个例子。

© www.soinside.com 2019 - 2024. All rights reserved.