原理: 
第一:申请大量的邮箱帐号 腾讯的 126的 163的 新浪的 雅虎的 谷歌的 等等提供smtp服务的
第二:收集你要发送邮件的邮件列表
第三:遍历邮件列表,每一个邮件发送邮件
第四:用linux下定时脚本后台运行 我跑了两天 哈哈 ,因为为了尽可能的保证每一个都发送成功
原理是很简单,但是其中还是遇到很多的问题。
第一:邮件失败的问题,我这里采用两个方式解决,第一把大量的那些邮箱帐号依次去发送,直到成功。然后每次发送500封邮件 后把发送邮箱列表随机打散(避免一个持续失败)。
我用的是phpmailer
多的不多说了上代码了。phpmailer 大家自己搜索下载吧
入口脚本:就是linux 执行的 mail_001.php
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <?php define('ROOT_PATH',dirname(__FILE__)); require_once'library/senderApi.php'; //发送邮件接口 require_once'config/senderListConf.php'; //发送邮件帐号列表 //读取文本 邮件地址 shuffle($senderListConf); $filename= "data/email.txt"; $fp= fopen($filename,"r"); $contents= fread($fp,filesize($filename)); $len=count($list_email); fclose($fp); //邮件内容为网页上的内容 $htmlContent= file_get_contents('http://taobao.1080www.com'); // 参数说明(发送到, 邮件主题, 邮件内容, 附加信息, 用户名) foreach($list_emailas$key=>$value) {  $value= trim($value);  $rs=explode("@",$value);  $user_name= $rs['0'];  smtp_mail($value, '秋季补水化妆品_秋季护肤皮肤保养_秋天皮肤干燥怎么办-小常识',$htmlContent, 'http://taobao.1080www.com/', $user_name,$senderListConf,0);  sleep(3);  if($key%200 == 0 && $key>0)  {   shuffle($senderListConf); //每200次 吧发送邮件顺序打乱一次  } } die('SendingOver.................'."rn"); ?> | 
封装phpmailer senderApi.php
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | <?php // 请求 PHPmailer类 文件 error_reporting(E_ERROR); require_once("phpmailer/phpmailer.class.php"); // 写入发送结果函数 {  $info.= $info_log;  $info.="rn";  $fp= fopen($filename,'a');  fwrite($fp,$info);  fclose($fp); } //发送Email函数 functionsmtp_mail ( $sendto_email, $subject, $body, $extra_hdrs, $user_name,$senderListConf,$sender=0) {  $batch_no= date("Y_m_d_H");  $mail->IsSMTP();  $sender_info= $senderListConf[$sender];  if(!$sender_info) 'die 发送帐号出错了..............'; // send via SMTP  $mail->Host = $sender_info['Host'];      // SMTP servers  $mail->SMTPAuth = true;        // turn on SMTP authentication  $mail->Username = $sender_info['Username'];       // SMTP username  注意:普通邮件认证不需要加 @域名  $mail->From = $sender_info['Username'];      // 发件人邮箱  $mail->FromName = "淘宝推荐---TaoBao";     // 发件人 ,比如 中国资金管理网  $mail->AddAddress($sendto_email,$user_name);  // 收件人邮箱和姓名  $mail->AddReplyTo("ken@cscsws.com","淘宝推荐");    //$mail->WordWrap = 50; // set word wrap  //$mail->AddAttachment("/var/tmp/file.tar.gz");             // attachment 附件1  //$mail->AddAttachment("/home/www/images/zhuanti/qiujibushui/qiujibushui_attache.jpg", "new.jpg");           //附件2  $mail->IsHTML(true);        // send as HTML  $mail->Subject = $subject;         // 邮件内容  可以直接发送html文件  $mail->Body = $body;  $mail->AltBody ="text/html";  if($mail->Send())  {   info_write(ROOT_PATH.'/log/'.$batch_no."ok.txt","$user_name 发送成功");  }  else {   info_write(ROOT_PATH.'/log/'.$batch_no."falied.txt","$user_name 失败,发送账号".$sender_info['Username'].",错误信息$mail->ErrorInfo");   if($senderListConf[$sender+1])   {    $sender= smtp_mail ( $sendto_email, $subject, $body, $extra_hdrs, $user_name,$senderListConf,($sender+1));   }  }  return$sender; } | 
发送邮件列表示例 senderListConf.php
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?php $senderListConf= array(    //搜狐邮箱   array('Host'=>'smtp.sohu.com','Username'=>'youemail@sohu.com','Password'=>'yourpassword'),   //雅虎邮箱   array('Host'=>'smtp.mail.yahoo.com','Username'=>'youemail@yahoo.cn','Password'=>'yourpassword'),   //163邮箱   array('Host'=>'smtp.163.com','Username'=>'youemail@163.com','Password'=>'yourpassword'),   //126邮箱   array('Host'=>'smtp.126.com','Username'=>'youemail@126.com','Password'=>'yourpassword'),   //qq邮箱   array('Host'=>'smtp.qq.com','Username'=>'youemail@qq.com','Password'=>'yourpassword'),   //谷歌邮箱   array('Host'=>'smtp.gmail.com','Username'=>'youemail@gmail.com','Password'=>'yourpassword'),   //139邮箱   array('Host'=>'smtp.139.com','Username'=>'youemail@139.com','Password'=>'yourpassword'),   //qq邮箱   array('Host'=>'smtp.qq.com','Username'=>'youemail@qq.com','Password'=>'(yourpassword'), ); | 
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
    

















请登录后发表评论
注册
社交帐号登录