PHP实现邮件群发的源码


Posted in PHP onJune 18, 2013
 <?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 = "jessiejl";                          // SMTP username     注意:普通邮件认证不需要加 @域名 
 $mail->Password = "1983106";                         // SMTP password  
 $mail->From = "";                      // 发件人邮箱 
 $mail->FromName = "WWW.NIUTW.COM";                 //   发件人 ,比如 唯美搭配网 
 $mail->CharSet = "GB2312";                          // 这里指定字符集! 
 $mail->Encoding = "base64";  
 $mail->AddAddress($sendto_email,$user_name);        // 收件人邮箱和姓名 
 $mail->AddReplyTo("","Web之家");  
 //$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> 
 <title>Treasurery Online 周刊</title> 
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
 <style type="text/css"> 
 <!-- 
 .STYLE1 {color: #009900} 
 .STYLE3 {color: #000000} 
 a:link { 
     color: #333333; 
 } 
 .STYLE4 {color: #666666} 
 body,td,th { 
     font-family: 宋体; 
     font-size: 12px; 
 } 
 .STYLE6 {color: #FFFFFF} 
 .STYLE9 {color: #DCB003} 
    
 --> 
 </style> 
 </head> 
 <body bgcolor="#FFFFFF" > 
 </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)); 
         $list_email=explode("\r\n",$contents);            
         $len=count($list_email); 
         fclose($fp); 
 // 参数说明(发送到, 邮件主题, 邮件内容, 附加信息, 用户名) 
 $i = $_GET['action']; 
         $i++;        
 if ($i<$len) 
     { 
         $rs=explode("@",$list_email[$i]); 
         $user_name = $rs['0']; 
         echo "正在发送第{$i}封({$list_email[$i]})邮件......{$user_name}"; 
         smtp_mail($list_email[$i], 'Treasurery Online 周刊第十二期', $body, 'http://www.yem120.com/', $user_name); 
         redirect("?action=$i"); 
     } 
 else { 
      echo "邮件全部发送完毕"; 
      exit; 
       } 
 ?>

小思维:
上面的读取文章email.txt,也可以直接是qq号码,每行一个号码,然后用fget()读取每行qq号码,最后在加上qq邮箱后缀 @qq.com即可
PHP 相关文章推荐
jQuery EasyUI API 中文文档 - DateBox日期框
Oct 15 PHP
PHP开发者常犯的10个MySQL错误更正剖析
Jan 30 PHP
PHP 登录记住密码实现思路
May 07 PHP
php根据身份证号码计算年龄的实例代码
Jan 18 PHP
叫你如何修改Nginx与PHP的文件上传大小限制
Sep 10 PHP
PHP编写的图片验证码类文件分享
Jun 06 PHP
PHP页面间传递值和保持值的方法
Aug 24 PHP
php的socket编程详解
Nov 20 PHP
Yii2下session跨域名共存的解决方案
Feb 04 PHP
PHP实现的策略模式简单示例
Aug 25 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 PHP
如何在PHP中读写文件
Sep 07 PHP
解析PHP跨站刷票的实现代码
Jun 18 #PHP
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
Jun 18 #PHP
360通用php防护代码(使用操作详解)
Jun 18 #PHP
浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法
Jun 18 #PHP
解析PHP计算页面执行时间的实现代码
Jun 18 #PHP
php实现简单洗牌算法
Jun 18 #PHP
php抽奖小程序的实现代码
Jun 18 #PHP
You might like
php使浏览器直接下载pdf文件的方法
2013/11/15 PHP
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
2014/12/01 PHP
laravel通过创建自定义artisan make命令来新建类文件详解
2017/08/17 PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
2019/05/28 PHP
js url传值中文乱码之解决之道
2009/11/20 Javascript
Javascript 变量作用域 两个可能会被忽略的小特性
2010/03/23 Javascript
iframe里的页面禁止右键事件的方法
2014/06/10 Javascript
javascript进行数组追加方法小结
2014/06/16 Javascript
javascript实现状态栏文字首尾相接循环滚动的方法
2015/07/22 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
微信小程序 教程之wxapp视图容器 scroll-view
2016/10/19 Javascript
setTimeout学习小结
2017/02/08 Javascript
js输入框使用正则表达式校验输入内容的实例
2017/02/12 Javascript
Javascript中prototype与__proto__的关系详解
2018/03/11 Javascript
详解react、redux、react-redux之间的关系
2018/04/11 Javascript
详解Vue源码中一些util函数
2019/04/24 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:EE凭借法力虚空拿下4杀
2017/03/30 DOTA
Python使用os模块和fileinput模块来操作文件目录
2016/01/19 Python
使用Python从零开始撸一个区块链
2018/03/14 Python
Python callable()函数用法实例分析
2018/03/17 Python
详解pandas库pd.read_excel操作读取excel文件参数整理与实例
2019/02/17 Python
java中的控制结构(if,循环)详解
2019/06/26 Python
使用Python函数进行模块化的实现
2019/11/15 Python
python使用html2text库实现从HTML转markdown的方法详解
2020/02/21 Python
Python网络爬虫信息提取mooc代码实例
2020/03/06 Python
CSS3制作ajax loader icon实现思路及代码
2013/08/25 HTML / CSS
Spartoo荷兰:鞋子、包包和服装
2018/07/12 全球购物
美国孕妇装购物网站:Motherhood Maternity
2019/09/22 全球购物
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
2015/10/22 面试题
金属材料工程个人求职的自我评价
2013/12/04 职场文书
网络管理专业求职信
2014/03/15 职场文书
欢迎领导检查标语
2014/06/27 职场文书
2015年三八妇女节活动总结
2015/02/06 职场文书
python中的class_static的@classmethod的巧妙用法
2021/06/22 Python
关于python爬虫应用urllib库作用分析
2021/09/04 Python
python多次执行绘制条形图
2022/04/20 Python