PHP邮件群发程序

[代码] php代码

001 <?php
002  
003 // 请求 PHPmailer类 文件
004 require_once("class.phpmailer.php");
005  
006 //发送Email函数
007 function smtp_mail ( $sendto_email, $subject, $body, $extra_hdrs, $user_name) {
008 $mail = new PHPMailer();
009 $mail->IsSMTP();                                     // send via SMTP
010 $mail->Host = "smtp.163.com";                       // SMTP servers
011 $mail->SMTPAuth = true;                             // turn on SMTP authentication
012 $mail->Username = "jessiejl";                          // SMTP username     注意:普通邮件认证不需要加 @域名
013 $mail->Password = "1983106";                         // SMTP password
014  
015 $mail->From = "";                      // 发件人邮箱
016 $mail->FromName = "WWW.NIUTW.COM";                 //   发件人 ,比如 唯美搭配网
017  
018 $mail->CharSet = "GB2312";                          // 这里指定字符集!
019 $mail->Encoding = "base64";
020  
021 $mail->AddAddress($sendto_email,$user_name);        // 收件人邮箱和姓名
022 $mail->AddReplyTo("","Web之家");
023  
024 //$mail->WordWrap = 50; // set word wrap
025 //$mail->AddAttachment("/var/tmp/file.tar.gz");                                                    // attachment  附件1
026 //$mail->AddAttachment("/tmp/image.jpg", "new.jpg");                                         //附件2
027 $mail->IsHTML(true);                               // send as HTML
028 $mail->Subject = $subject;                      
029  
030 // 邮件内容      可以直接发送html文件
031 $mail->Body = <<<EOT
032 <html>
033 <head>
034 <title>Treasurery Online 周刊</title>
035 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
036 <style type="text/css">
037 <!--
038 .STYLE1 {color: #009900}
039 .STYLE3 {color: #000000}
040 a:link {
041     color: #333333;
042 }
043 .STYLE4 {color: #666666}
044 body,td,th {
045     font-family: 宋体;
046     font-size: 12px;
047 }
048 .STYLE6 {color: #FFFFFF}
049 .STYLE9 {color: #DCB003}
050  
051   
052  
053 -->
054 </style>
055 </head>
056 <body bgcolor="#FFFFFF" >
057  
058 </body>
059 </html>
060 EOT;
061 $mail->AltBody ="text/html";
062 if($mail->Send())
063         {
064    info_write("ok.txt","$user_name 发送成功");
065         }
066 else {
067    info_write("falied.txt","$user_name 失败,错误信息$mail->ErrorInfo");
068      }
069 }
070 // 发送Email函数结束
071  
072 // 写入发送结果函数,错误日志记录
073 function info_write($filename,$info_log)
074     {
075      $info.= $info_log;
076      $info.="\r\n";
077      $fp = fopen ($filename,a);
078      fwrite($fp,$info);
079      fclose($fp);
080     }
081  
082 //定时跳转页面 函数        其中 1000是时间,1秒, 您可以自定义
083 function redirect($url)
084     {
085             echo "<script>
086                 function redirect()
087                 {
088                     window.location.replace('$url');
089                 }
090                 window.setTimeout('redirect();', 15000);
091               </script>";
092     }
093  
094 //读取文本 邮件地址  您也可以读 数据库
095         $filename = "email.txt";
096         $fp = fopen($filename,"r");
097         $contents = fread($fp,filesize($filename));
098         $list_email=explode("\r\n",$contents);          
099         $len=count($list_email);
100         fclose($fp);
101  
102 // 参数说明(发送到, 邮件主题, 邮件内容, 附加信息, 用户名)
103 $i = $_GET['action'];
104         $i++;      
105 if ($i<$len)
106     {
107         $rs=explode("@",$list_email[$i]);
108         $user_name = $rs['0'];
109         echo "正在发送第{$i}封({$list_email[$i]})邮件......{$user_name}";
110         smtp_mail($list_email[$i], 'Treasurery Online 周刊第十二期', $body, 'http://www.yem120.com/', $user_name);
111         redirect("?action=$i");
112     }
113 else {
114      echo "邮件全部发送完毕";
115      exit;
116       }
117  
118 ?>

[代码] 小思维

1 上面的读取文章email.txt,也可以直接是qq号码,每行一个号码,然后用fget()读取每行qq号码,最后在加上qq邮箱后缀 @qq.com即可
原文地址:https://www.cnblogs.com/xingmeng/p/2888704.html