繁体   English   中英

每次迭代在foreach循环中重复php sleep方法

[英]repeat php sleep method inside a foreach loop each iteration

对于不同的问题,我必须向不同的客户发送大约 1k 封电子邮件。 通常我会得到一个包含所有必要信息的 excel 文件来发送电子邮件。 我有一个 Web 表单,我可以在其中插入票号并检索发送邮件所需的信息(也在 excel 文件中提供)。 问题是在表单中插入 1k 票号是一项既费力又费时的工作。 因此,我复制了为发送电子邮件而生成的链接,并创建了 1k 个链接,其中包含发送 1k 封不同电子邮件所需的特定变量。 现在我要做的就是生成一个 php 函数来打开所有链接,工作就完成了。 但是,邮件服务器不允许从同一 IP 一次发送超过 20 封电子邮件。 它将电子邮件标记为垃圾邮件并阻止 IP。 我尝试了一个带有 php sleep 函数的foreach循环,但它不起作用。 该函数在给定的时间内休眠,然后立即打开所有给定的链接。 我想声明该功能将在我的笔记本电脑上运行,不会上传到任何服务器或任何地方。

以下是我目前拥有的功能:

$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"];
?>

<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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM