我需要在x时间之后使用php代码发送和发送电子邮件。
我不想使用cronjob。因此,此代码无法正常工作,因为它可以一次打印php代码,并且不会像js那样自动更改DOM。但是我需要这样的东西:
$today = date('Y-m-d H:i:s');
$dataorder = date("Y-m-d H:i:s", $order->created);
$delay_days = 240;
$senday = date('Y-m-d H:i:s', strtotime( "$dataorder + $delay_days min" ));
if ($today == $senday) {
echo "sent";
} else {
echo "not yet sent";
}
现在,我可以使用js,但是我不确定这是否行得通,这个php脚本是后端的全部php页面。所以,我只能使用php吗?喜欢使用睡眠功能吗?或其他
我不知道这是最好的方法。
(特别是这是一种发送电子邮件以记住要在网站上留下赞美的系统。)
谢谢
答案 0 :(得分:0)
您可以通过以下方式实现此目标
有了用户的数据,就知道特定用户在哪个日期注册。
编写一个每天执行的脚本,并选择5天前所有已注册用户的脚本。邮件将被发送到该日期匹配的所有用户。
脚本将继续执行,直到在该日期处理完最后一个用户为止。
答案 1 :(得分:0)
您可以将每封电子邮件存储在数据库表或临时文件中,此时用户操作将发送待处理的电子邮件。例如,您可以每10秒发出一个ajax请求,该请求将发送邮件以防止页面缓慢加载。
更好的解决方案是,如果您对这样的工作使用cronjob。