Javascript 在每次迭代的foreach循环中重复php sleep方法
我必须为不同的问题向不同的客户发送大约1k封电子邮件。通常我会得到一个excel文件,里面有发送电子邮件所需的所有信息。我有一个web表单,在其中插入票号,并检索发送邮件所需的信息(excel文件中也提供了这些信息)。问题在于,在表单中插入1k票号是一项费时费力的工作。因此,我复制了发送电子邮件所生成的链接,并创建了1k个链接,其中包含发送1k封不同电子邮件所需的特定变量。现在我要做的就是生成一个php函数来打开所有链接,工作就完成了。但是,邮件服务器不允许一次从同一IP发送超过20封电子邮件。它将电子邮件标记为垃圾邮件并阻止IP。我尝试了一个Javascript 在每次迭代的foreach循环中重复php sleep方法,javascript,php,Javascript,Php,我必须为不同的问题向不同的客户发送大约1k封电子邮件。通常我会得到一个excel文件,里面有发送电子邮件所需的所有信息。我有一个web表单,在其中插入票号,并检索发送邮件所需的信息(excel文件中也提供了这些信息)。问题在于,在表单中插入1k票号是一项费时费力的工作。因此,我复制了发送电子邮件所生成的链接,并创建了1k个链接,其中包含发送1k封不同电子邮件所需的特定变量。现在我要做的就是生成一个php函数来打开所有链接,工作就完成了。但是,邮件服务器不允许一次从同一IP发送超过20封电子邮件。
foreach
循环,其中包含php sleep函数,但它不起作用。函数在给定的时间内休眠,然后立即打开所有给定的链接。我想声明,该功能将从我的笔记本电脑上运行,不会上传到任何服务器或其他任何地方
以下是我目前拥有的功能:
$emails = ["http://www.facebook.com","http://www.tuttojuve.com","http://www.google.com"];
//testing with these links instead of the email links
foreach($emails as $key => $email){
$mail = "<script type='text/javascript' language='Javascript'>window.open('".$email."','_blank');</script>";
sleep(5);
echo $mail;
}
$emails=[”http://www.facebook.com","http://www.tuttojuve.com","http://www.google.com"];
//使用这些链接而不是电子邮件链接进行测试
foreach($key=>$email形式的电子邮件){
$mail=“window.open”(“$email.”,“\u blank”);
睡眠(5);
echo$邮件;
}
任何帮助或暗示都将不胜感激,
提前感谢$emails=[”http://www.facebook.com","http://www.tuttojuve.com","http://www.google.com"];
$emails = ["http://www.facebook.com","http://www.tuttojuve.com","http://www.google.com"];
?>
<script>
var linksToOpen = <?php echo json_encode($emails); ?>;
var currentLink = 0;
setInterval(function(){
window.open(linksToOpen[currentLink++], '_blank');
/* browser popup blocker may block this window so add window url to allowed list. */
}, 5000);
/* every x millisecond */
</script>
?>
var linksToOpen=;
var-currentLink=0;
setInterval(函数(){
打开(linkstopen[currentLink++],'u blank');
/*浏览器弹出窗口拦截器可能会阻止此窗口,因此将窗口url添加到允许列表中*/
}, 5000);
/*每x毫秒*/
使用cron作业如何?如何一次打开所有链接?@Goudelalfy它会休眠5秒钟,然后在不同的选项卡中一次打开所有链接。第一次之后不会执行sleep方法。从代码中看,您正在打开带有链接的新窗口,对吗?如果这是正确的,您应该使用JavaScript而不是php在特定时间间隔后打开新窗口,获取json数组中的所有链接,并通过JavaScript循环它们;这个解决方案有效。但是,可以进行一个简单的改进,因为在完成数组中的所有链接后,函数将继续打开新的空选项卡。除此之外,干得好,谢谢:)