在使用phpmailer群发邮件时如何设置发送的时间间隔?



用phpmailer群发大量邮件时发现邮件服务器吃不消,如何设置每隔10秒发送一封邮件?
以下是网上别人的代码,试了一下之后发现只能发第2封信,很是奇怪,邮件内容及主题是以表单的形式提交到发送页面的,下面是代码:
<?php 
// 请求 PHPmailer类 文件
require_once("class.phpmailer.php");  
//发送Email函数
function smtp_mail ( $sendto_email, $subject, $body, $extra_hdrs, $user_name) { 
$mail = new PHPMailer();  
$mail->IsSMTP();                                     // send via SMTP  
$mail->Host = "smtp.163.com";                       // SMTP servers  
$mail->SMTPAuth = true;                             // turn on SMTP authentication  
$mail->Username = "cfc4n";                          // SMTP username     注意:普通邮件认证不需要加 @域名 
$mail->Password = "123456";                         // SMTP password  
$mail->From = "cfc4n@163.com";                      // 发件人邮箱 
$mail->FromName = "中国资金管理网";                 //   发件人 ,比如 中国资金管理网
$mail->CharSet = "GB2312";                          // 这里指定字符集! 
$mail->Encoding = "base64";  
$mail->AddAddress($sendto_email,$user_name);        // 收件人邮箱和姓名 
$mail->AddReplyTo("treasurer@treasurer.org.cn","中国资金管理网");  
//$mail->WordWrap = 50; // set word wrap  
//$mail->AddAttachment("/var/tmp/file.tar.gz");                                                    // attachment  附件1
//$mail->AddAttachment("/tmp/image.jpg", "new.jpg");                                         //附件2
$mail->IsHTML(true);                               // send as HTML  
$mail->Subject = $subject;                        
// 邮件内容      可以直接发送html文件
$mail->Body = <<<EOT
<html><head> 
<meta http-equiv="Content-Language" content="zh-cn"> 
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
<body>
{$user_name}你好,欢迎您注册本站用户!
</body>
</html>
EOT;
$mail->AltBody ="text/html";  
if($mail->Send())  
        {  
   info_write("ok.txt","$user_name发送成功");
        }  
else { 
   info_write("falied.txt","$user_name失败,错误信息$mail->ErrorInfo");
     } 

// 发送Email函数结束
// 写入发送结果函数
function info_write($filename,$info_log)
    {
  $info.= $info_log;
  $info.="\r\n";
  $fp = fopen ($filename,a);
  fwrite($fp,$info);
  fclose($fp);
}
//定时跳转页面 函数  其中 1000是时间,1秒, 您可以自定义
function redirect($url)
    {
         echo "<script>
    function redirect() {
     window.location.replace('$url');
    }
    window.setTimeout('redirect();', 15000);
     </script>";
    }
//读取文本 邮件地址  您也可以读 数据库
        $filename = "email.txt";
        $fp = fopen($filename,"r");
        $contents = fread($fp,filesize($filename));
        $num_email=explode("\r\n",$contents);         
  $len=count($num_email);
        fclose($fp);
// 参数说明(发送到, 邮件主题, 邮件内容, 附加信息, 用户名)
$i = $_GET['action'];
        $i++;  
if ($i<$len)
    {
  $rs=explode("@",$num_email[$i]);
  $user_name = $rs['0'];
  echo "正在发送第{$i}封({$num_email[$i]})邮件......";
        smtp_mail($num_email[$i], 'Treasury Online周刊第十期', $body, 'http://www.treasurer.org.cn/', $user_name);
        redirect("?action=$i");
    }
else {
     echo "邮件全部发送完毕";
  exit;
      }
?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值