cakephp 中是否有在指定时间内发送电子邮件的方法?
我有一个使用 cakephp 构建的文件上传网站,上传完成后它会发送一封电子邮件以获取下载链接,然后它会调用一个 php CLI 来压缩文件。在压缩过程中,站点已经关闭,所以我不知道压缩过程什么时候结束。我想知道是否可以在 cakephp 电子邮件中指定,例如在刷新页面之前 1 分钟后发送电子邮件。
这是一些代码来显示发生了什么
var xhr_zip;
xhr_zip = new XMLHttpRequest();
fd_zip = new FormData();
fd_zip.append("total_files", total_files);
xhr_zip.open("POST", "datas/zip/", true);
xhr_zip.send(fd_zip);
xhr_update_usage = new XMLHttpRequest();
fd_update_usage = new FormData();
xhr_update_usage.open("POST", "datas/update_usage/", true);
xhr_update_usage.send(fd_update_usage);
xhr_email = new XMLHttpRequest();
fd_email = new FormData();
xhr_email.open("POST", "datas/send_link/" + recipient + '/' + subject, true);
xhr_email.send(fd_email);
xhr_email.onload = function(e) {
setTimeout(function() {
$("body").removeClass("loading");
window.onbeforeunload = null;
alert("Total Files : " + total_files + " Sent \n Total Upload Size : " + (total_upload_size/1048576).toFixed(2) + " MB");
document.location.reload(true);
}, 2000);
};
因此,在 zip 触发后,即使它没有完成压缩,脚本也会继续发送电子邮件并刷新浏览器。