编程语言
首页 > 编程语言> > php-为基于Web的应用程序实现自动提醒电子邮件功能

php-为基于Web的应用程序实现自动提醒电子邮件功能

作者:互联网

我想为我的Web应用程序创建一个功能,一旦用户输入我的数据库,每4周就会向他们发送一封电子邮件,提醒他们例如提供一些反馈.我听说cron工作是我要寻找的,但我想知道那里还有什么,也许存在一个php脚本或一种简单的方法?

我希望从他们进入数据库开始倒数直到4周过去,然后调用php文件或向我发送自己选择的电子邮件的东西,这样的倒数计时.如果可能的话让我知道!谢谢

解决方法:

我想说的是使用cron作业(它可以每天在某个特定时间运行,这很适合发送电子邮件),并且cron作业可以调用php脚本,该脚本可以查看所有用户并检查他们的注册时间,并查看是否有人在4周前(或多倍)进行了注册.对于满足此条件的任何人,您都可以遍历一个循环,并使用mail()函数向他们发送电子邮件.

Cron Job

登录到服务器上的外壳程序,然后键入“ sudo crontab -e”并输入如下内容:

30 14 * * * php path/to/some/phpscript.php

在此示例中,phpscript.php将在每天的14:30(下午2:30)运行.但这并不意味着它将每天向所有用户发送电子邮件!请参见下面的脚本.

PHP脚本

<?php
# get all users (or your query could choose only users who signed up (4 weeks)*n ago)
$result = mysql_query('SELECT * FROM user');
$users = array();
while($row = mysql_fetch_assoc($result)) $users[] = $row;

# loop through users and (if you didn't already check) see which ones have signed up (4 weeks)*n ago
foreach ($users as $user) {
    # take the number of seconds and convert it to number of days
    $today = (int)(strtotime(date('c')) / 60 / 60 / 24);
    $signup_day = (int)(strtotime($user['signup_date']) / 60 / 60 / 24);
    # check if the amount of days since signup is a multiple of 28 (4*7)
    if (($today - $signup_day) && ($today - $signup_day) % 28 == 0) {
        send_mail_to($user);
    }
}
?>

标签:email-integration,cron,web-applications,html,php
来源: https://codeday.me/bug/20191030/1969588.html