PHP实现邮件群发的源码

 更新时间:2013年06月18日 16:13:24   作者:  
本篇文章是对用PHP实现邮件群发的代码进行了详细的分析介绍,需要的朋友参考下
复制代码 代码如下:

 <?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一个找二层目录的小东东

    php一个找二层目录的小东东

    碰到个虚拟主机,iis7.0.里边有上万个站,只有脚本权限,没命令行权限,但是可以跨目录写文件.如果能得到目标站的物理目录,能立马搞定.但是想尽一切办法,也没找到物理路径.所以只有用脚本找了.手工找会累死的.一个php是找的,一个asp是写的
    2012-08-08
  • php 清除网页病毒的方法

    php 清除网页病毒的方法

    好像是进行一些替换操作,大家可以测试
    2008-12-12
  • VIM中设置php自动缩进为4个空格的方法详解

    VIM中设置php自动缩进为4个空格的方法详解

    本篇文章是对VIM中设置php自动缩进为4个空格的方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 详解PHP执行定时任务的实现思路

    详解PHP执行定时任务的实现思路

    这篇文章主要介绍了详解PHP执行定时任务的几种实现思路,PHP的定时任务功能必须通过和其他工具结合才能实现,们就来深入的解析几种常见的php定时任务的思路
    2015-12-12
  • PHP连接SQLSERVER 注意事项(附dll文件下载)

    PHP连接SQLSERVER 注意事项(附dll文件下载)

    文章是网上找的,从来没有弄过,一直是php+mysql 现在搞个php+mssql 也不懂,没有办法,从网上找了些资料,我是看了这些资料,才连上的mssql的第一次感觉真的挺费劲的,这些可能不需要全部看完就ok,我也是这一点那一点,可能是我比较笨吧!呵呵
    2012-06-06
  • PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结

    PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结

    这篇文章主要介绍了PHP实现二维数组(或多维数组)转换成一维数组的常见方法,结合实例形式总结分析了PHP数组遍历、转换所涉及的array_reduce、array_walk_recursive及array_map函数常见使用技巧,需要的朋友可以参考下
    2019-12-12
  • php实现比较全的数据库操作类

    php实现比较全的数据库操作类

    这篇文章主要介绍了php实现比较全的数据库操作类,可实现基本的数据库连接、执行SQL语句及错误提示等相关技巧,需要的朋友可以参考下
    2015-06-06
  • PHP实现cookie跨域session共享的方法分析

    PHP实现cookie跨域session共享的方法分析

    这篇文章主要介绍了PHP实现cookie跨域session共享的方法,结合实例形式分析了php操作cookie的有效期、跨域、session存储等相关操作技巧,需要的朋友可以参考下
    2019-08-08
  • 将PHP与微信红包功能集成的实例代码

    将PHP与微信红包功能集成的实例代码

    要将PHP与微信红包功能集成,您可以使用微信支付提供的红包API来实现,本文给大家提供了一些步骤供大家参考,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2023-12-12
  • php判断表是否存在的方法

    php判断表是否存在的方法

    这篇文章主要介绍了php判断表是否存在的方法,实例分析了三种常见的判断表的方法,涉及php操作数据库的相关技巧,需要的朋友可以参考下
    2015-06-06

最新评论