Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从txt列表发送邮件时的php延迟_Php_Phpmailer - Fatal编程技术网

从txt列表发送邮件时的php延迟

从txt列表发送邮件时的php延迟,php,phpmailer,Php,Phpmailer,我有一个从emails.txt列表发送邮件的脚本,工作正常,但是有没有办法延迟从列表发送邮件? 感谢您的帮助,谢谢 这是Php发送者脚本: if($_POST) { $recipient_email = ''; $name = filter_var($_POST["name"], FILTER_SANITIZE_STRING); $from_email = filter_var($_POST["sender_email"], FILTER

我有一个从emails.txt列表发送邮件的脚本,工作正常,但是有没有办法延迟从列表发送邮件? 感谢您的帮助,谢谢

这是Php发送者脚本:

if($_POST)
{

     $recipient_email    = '';  

      $name    = filter_var($_POST["name"], FILTER_SANITIZE_STRING);  
      $from_email = filter_var($_POST["sender_email"], FILTER_SANITIZE_STRING); 
    $bcc    = filter_var($_POST["bcc"], FILTER_SANITIZE_STRING);  
    $reply_to_email = filter_var($_POST["email"], FILTER_SANITIZE_STRING);  
    $subject        = filter_var($_POST["subject"], FILTER_SANITIZE_STRING);  
    $message        = filter_var($_POST["message"], FILTER_SANITIZE_STRING); 
        $mesaj        = filter_var($_POST["message"], FILTER_SANITIZE_STRING); 

        //Get uploaded file data
    $file_tmp_name    = $_FILES['my_file']['tmp_name'];
    $file_name        = $_FILES['my_file']['name'];
    $file_size        = $_FILES['my_file']['size'];
    $file_type        = $_FILES['my_file']['type'];
    $file_error       = $_FILES['my_file']['error'];

      $lista    = $_FILES['lista']['tmp_name'];

    if($file_error > 0)
    {
        die('Upload error or No files uploaded');
    }

         $handle = fopen($file_tmp_name,'rb');

         // Now read the file content into a variable
         $content = fread($file,filesize($file_tmp_name));

         // close the file
         fclose($handle);

         // Now we need to encode it and split it into acceptable length lines
        $encoded_content = chunk_split(base64_encode(file_get_contents($file_tmp_name)));

          $uid = md5(date('r', time()));

      //header
       $headers = "From: ".$name." <".$from_email.">\r\n";
       $headers .= "Bcc: $bcc\r\n";
       $headers .= "Reply-To: ".$reply_to_email."\r\n";
       $headers .= "MIME-Version: 1.0\r\n";
       $headers .= "Content-Type: multipart/mixed; boundary=\"PHP-mixed-".$uid."\"\r\n\r\n";

$message = "--PHP-mixed-$uid\r\n"."Content-Type: multipart/alternative; boundary=\"PHP-alt-$uid\"\r\n\r\n";
$message .= "--PHP-alt-$uid\r\n"."Content-Type: text/plain; charset=\"iso-8859-1\"\r\n"."Content-Transfer-Encoding: 7bit\r\n\r\n";

//Insert the html message.
 $message .= $mesaj;
 $message .="\r\n\r\n--PHP-alt-$uid--\r\n\r\n";

//include attachment
$message .= "--PHP-mixed-$uid\r\n"."Content-Type: $file_type; name=\"$file_name\"\r\n"."Content-Transfer-Encoding: base64\r\n"."Content-Disposition: attachment\r\n\r\n";
$message .= $encoded_content;
$message .="Content-Transfer-Encoding: base64\r\n";
$message .="X-Attachment-Id: ".rand(1000,99999)."\r\n\r\n"; 
$message .= "/r/n--PHP-mixed-$uid--";

    $list = fopen($lista, "r");

    if ($list) {
         while (($line = fgets($list)) !== false) {

            if (!mail($line, $subject, $message, $headers)) 
            { 
                echo "Eroare! Nu am putut trimite mailurile."; 
            }
            else
            { 

                echo "Mailurile au fost trimise!"; 
            }


            }  
fclose($list);
        }
} 
if($\u POST)
{
$recipient_email='';
$name=filter\u var($\u POST[“name”],filter\u SANITIZE\u STRING);
$from_email=filter_var($_POST[“发件人_email”],filter_SANITIZE_STRING);
$bcc=filter\u var($\u POST[“bcc”],filter\u SANITIZE\u字符串);
$reply_to_email=filter_var($_POST[“email”],filter_SANITIZE_STRING);
$subject=filter\u var($\u POST[“subject”],filter\u SANITIZE\u字符串);
$message=filter\u var($\u POST[“message”],filter\u SANITIZE\u STRING);
$mesaj=filter_var($_POST[“message”],filter_SANITIZE_STRING);
//获取上传的文件数据
$file\u tmp\u name=$\u FILES['my\u file']['tmp\u name'];
$file\u name=$\u FILES['my\u file']['name'];
$file\u size=$\u FILES['my\u file']['size'];
$file\u type=$\u FILES['my\u file']['type'];
$file\u error=$\u FILES['my\u file']['error'];
$lista=$\u文件['lista']['tmp\u名称'];
如果($file\u error>0)
{
die(“上传错误或未上传文件”);
}
$handle=fopen($file\u tmp\u name,'rb');
//现在将文件内容读入变量
$content=fread($file,filesize($file\u tmp\u name));
//关闭文件
fclose($handle);
//现在我们需要对其进行编码,并将其拆分为可接受的长度行
$encoded_content=chunk_split(base64_encode(file_get_contents($file_tmp_name)));
$uid=md5(日期('r',时间());
//标题
$headers=“From:”.$name.\r\n”;
$headers.=“密件抄送:$Bcc\r\n”;
$headers.=“回复:”.$Reply\u To\u email.\r\n”;
$headers.=“MIME版本:1.0\r\n”;
$headers.=“内容类型:多部分/混合;边界=\”PHP混合-“$uid。”\”\r\n\r\n”;
$message=“--PHP mixed-$uid\r\n”。“内容类型:多部分/可选;边界=\“PHP alt-$uid\”\r\n\r\n”;
$message.=“--PHP alt-$uid\r\n”。“内容类型:text/plain;字符集=\“iso-8859-1\”\r\n”。“内容传输编码:7bit\r\n\r\n”;
//插入html消息。
$message.=$mesaj;
$message.=“\r\n\r\n--PHP alt-$uid--\r\n\r\n”;
//包括附件
$message.=“--PHP mixed-$uid\r\n”。“内容类型:$file\u Type;名称=\”$file\u name\“\r\n”。“内容传输编码:base64\r\n”。“内容处置:附件\r\n\r\n”;
$message.=$encoded\u内容;
$message.=“内容传输编码:base64\r\n”;
$message.=“X-Attachment-Id:”.rand(100099999)。“\r\n\r\n”;
$message.=“/r/n--PHP混合--$uid--”;
$list=fopen($lista,“r”);
如果($列表){
while(($line=fgets($list))!==false){
如果(!邮件($line,$subject,$message,$headers))
{ 
回音“厄洛瓦!我要把它扔出去。”;
}
其他的
{ 
回声“Mailurile au fost trimise!”;
}
}  
fclose($清单);
}
} 
Html表单字段:

<form enctype="multipart/form-data" method="POST" action="">
<label>Name <input type="text" name="sender_name" /> </label> 
</br><label>Mail <input type="email" name="sender_email" /> </label> 
<label>Bcc <input type="text" name="bcc" /> </label> 
</br><label>Subject <input type="text" name="subject" /> </label> 
</br> <label>Message <textarea name="message"></textarea> </label> 
</br><label>attachment <input type="file" name="my_file" /></label>
</br><label>Mail list <input type="file" name="lista" /></label>

</br> <label><input type="submit" name="button" value="Fire :)" /></label>
</form>

名称

邮件 密件抄送
主题
信息
附件
邮件列表
您可以使用sleep()命令将其暂停

while (($line = fgets($list)) !== false) {

        if (!mail($line, $subject, $message, $headers)) 
        { 
            echo "Eroare! Nu am putut trimite mailurile."; 
        }
        else
        { 

            echo "Mailurile au fost trimise!"; 
        }

       sleep(3)
        }  

例如

使用
sleep()
函数暂停脚本。例如,您可以使用sleep(3)暂停脚本三秒钟。然后继续循环使用sleep()添加的任何延迟也会延迟用户的响应时间。我注意到所有东西都用if($\u POST)包装。用户是否从在线表单发布到此脚本?你想推迟发送邮件到更晚的预定时间吗?我想他只是浏览了一个邮件列表并发送给所有人,在这种情况下,睡眠会做他想做的事情,但很好。我希望txt列表中的每封邮件都能延迟3或5秒发送