PHP單頁面郵件群發系統程序原代碼
[重要通告]如您遇疑難雜癥,本站支持知識付費業務,掃右邊二維碼加博主微信,可節省您寶貴時間哦!
[code]
<?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 = "gemin"; // SMTP username 注意:普通郵件認證不需要加 @域名
013 $mail->Password = "gemin.com.cn"; // SMTP password
014
015 $mail->From = ""; // 發件人郵箱
016 $mail->FromName = "WWW.gemin.Com.Cn"; // 發件人 ,比如 蛤蟆工作室
017
018 $mail->CharSet = "GB2312"; // 這里指定字符集!
019 $mail->Encoding = "base64";
020
021 $mail->AddAddress($sendto_email,$user_name); // 收件人郵箱和姓名
022 $mail->AddReplyTo("","哈哈工作室");
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>蛤蟆工作室訂閱</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 ?>
[/code]
代碼解說
PHP郵件群發程序,下面寫的是能從讀取文本文件進行群發郵件,你也可以從數據庫里讀取然后遍歷即可!
但我想讀email.txt文件改為連接數據庫讀取郵件地址--mysql! 請看紅字,或者是從browse button讀取也行
即:
<input type="file" name="fileField" id="fileField">
@上面的讀取文章email.txt,也可以直接是qq號碼,每行一個號碼,然后用fget()讀取每行qq號碼,最后在加上qq郵箱后綴 @qq.com即可,其實php郵件群發很簡單,因公司需要PHP群發郵件,所以最近在做一個PHP群發程序系統,可以自由自設置多個群發郵箱,這樣群發 數量就有保證了,所有設置都桌面化,很直觀操作!數量100-200之間為好~~~
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!