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