邮件服务器端发送
2012-07-04 16:44
706 查看
<?php//set_time_limit(0);//echo 'hudie';//die();//error_reporting(E_ALL); //邮件群发 $send_class_path = 'SendmailClass.php'; if(file_exists($send_class_path)){ include($send_class_path); $EmailClass = new Sendmail(); }else{ exit ('The email class is not exist'); } $mid = isset($argv['1']) ? intval($argv['1']) : ''; $amount = isset($argv['2']) ? intval($argv['2']) : 100000 ; define('APP_PATH', '../app/cache/'); $midpath = APP_PATH.'midarr.php'; if(file_exists($midpath)){ $midarr = include_once($midpath); }else{ $midarr = array(); } if($mid){ if(! in_array($mid,$midarr)){ exit ('Message not exist'); } $nmid = array($mid=>$mid); }else{ $nmid = $midarr; } $t = $m = 0; foreach ($nmid as $k => $mid) { $epath = APP_PATH.'emaillist_'.$mid.'.php'; $hadsend = APP_PATH.'krecord_'.$mid.'.php'; $emailmodel = APP_PATH.'emodel_'.$mid.'.php'; $emodel = include($emailmodel); $krecord = file_get_contents($hadsend); $userinfo = array(); if($krecord < $emodel['count']) { $beginnum = $krecord + 1; //获取需要发送的用户列表 if(file_exists($epath)){ $fop = @fopen($epath,"r"); if(!$fop){ exit('Read epath error!'); } while(!feof($fop)) { $m++; $one = fgets($fop); if($m < $beginnum) { continue; } list($uid,$username,$email) = @explode("\t",$one); //过滤错误的类型 if(!empty($uid) && !empty($username) && !empty($email)) { $userinfo[$m] = array('email'=>$email,'username'=>$username); } } fclose($fop); } else { exit('No emaillist_file'); } //开始发送邮件 foreach ($userinfo as $u => $v) { /***************记录发送点*******************/ $fp = @fopen($hadsend, 'w'); if(!$fp) { exit('Write error!'); } if(flock($fp, LOCK_EX)) { fwrite($fp, $u); flock($fp, LOCK_UN); $res = true; } fclose($fp); /*********************开始发送**************************/ if($res){ $subject = $emodel['theme']; $content = $emodel['content']; $toemail = $v['email']; $tousername = $v['username']; $EmailClass->sendPreHandle($toemail, $subject, $content, $tousername); $t++; //echo 'Sent '.$u.' --amount '.$t."\n"; if(!($t%3)){ sleep(3); } } if($t == $amount){ exit ("Finish sending\n"); //break 2; } } } } if($t) { echo 'Finish sending'; } else echo 'No email need to send'; 转自天翼空间 |
相关文章推荐
- linux下面配置sendmail邮件服务器,并用php mail函数发送邮件测试
- python使用smtplib库和smtp.qq.com邮件服务器发送邮件(转)
- C#发送邮件程序 及测试邮件服务器
- 《pro Spring》学习笔记之使用Sprin+James邮件服务器发送可替换的HTML和纯文本邮件
- 客户端在发送邮件的时候,邮件服务器返回Relaying denied错误的解决方法
- 常见邮件服务器(接收服务器和发送邮件服务器)地址
- java 用gmail邮件服务器 发送邮件
- 邮件服务器+javamail(仅包括发送)搭建
- James邮件服务器简单介绍及配置发送外网邮件
- 让EXCHANGE可以接收外部邮件服务器发送的邮件
- C#发送邮件程序 及测试邮件服务器
- 利用阿帕奇邮件服务器发送邮件
- EBS12.1.3往smtp邮件服务器发送邮件的bug
- 邮件服务器,postfix能正常启动,但无法发送邮件
- linux运用外部163邮件服务器发送邮件
- 常见邮件服务器(接收服务器和发送邮件服务器)地址
- james 邮件服务器修改内网发送到其它邮件服务器
- 使用System.Web.Mail通过需验证的邮件服务器发送邮件
- Python 利用SMTP协议,基于第三方的邮件服务器发送邮件
- C#发送邮件程序 及测试邮件服务器