程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP實現郵件群發的源碼

PHP實現郵件群發的源碼

編輯:關於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即可

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved