在phpMailer中延迟发送电子邮件

在phpMailer中延迟发送电子邮件,php,email,delay,phpmailer,Php,Email,Delay,Phpmailer,我正在考虑创建一个提醒页面,任何用户都可以在其中输入他的电子邮件、姓名、主题和日期,以便在选择的日期前一天向他发送电子邮件 我需要使用phpMailer,因为我的所有联系人表单都使用它 有没有办法根据用户在日期部分的输入延迟发送电子邮件 *更新 我的恐惧涌上心头,看来我别无选择,只能使用Cron作业,好吧,好吧。或者不太好,因为我以前没做过 我创建了一个cron作业,每天12:30运行我的脚本 30 12 * * * php path/to/some/phpscript.php 使用cPane

我正在考虑创建一个提醒页面,任何用户都可以在其中输入他的电子邮件、姓名、主题和日期,以便在选择的日期前一天向他发送电子邮件

我需要使用phpMailer,因为我的所有联系人表单都使用它

有没有办法根据用户在日期部分的输入延迟发送电子邮件

*更新 我的恐惧涌上心头,看来我别无选择,只能使用Cron作业,好吧,好吧。或者不太好,因为我以前没做过

我创建了一个cron作业,每天12:30运行我的脚本

30 12 * * * php path/to/some/phpscript.php
使用cPanel

但假设一个用户希望在2016年3月24日收到电子邮件,那么他的输入将是2016年3月24日

如何检查今天的日期是否比用户指定的日期早一天,如果是,则运行PHP mailer脚本

*使用工作解决方案进行最后编辑 我制作了两个页面,一个页面有一个带有日期选择器的评论表单,另一个页面列出了评论并浏览了所有评论,检查当前日期==日期选择器,然后点击phpMailer,评论中的字段为subject、recipient等等。然后做了一个cron任务,每天7:30访问该页面,它的工作就像一个魅力

是的,php上绝对有一个函数,通过指定睡眠的秒数


你可能正在寻找cron作业,将其与事件数据库结合起来。@Qirel好吧,这可能是真的,但我从未创建过cron作业,因此我需要有人朝着正确的方向踢我的屁股:看一看,这不完全一样,但你可以用它开始@Qirel,那将是一个开始,谢谢你,但是我怎样才能在用户指定的日期收到发送的电子邮件?@Alin是我在编辑后添加的触发器。经过一点思考后,不要使用触发器。您可以使用日期/日期时间列设置db作为提醒日期。当与ifdate==x{//do something}类型的事情进行比较时,db文件上的cron作业将在日期开始。你真的认为睡眠是最好的方式吗?…并且,假设用户将提醒添加到2016年3月27日。那会怎样呢?睡眠只在被调用的页面被执行时起作用,而不是自动完成。请在此处回复@Alin的评论。如果您不能用正确的解决方案回答,请删除此答案;这是不正确的,这就是为什么你收到了那些反对票。