// 請求 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 = bbs.it-home.org; // 寄件者 ,指令碼學堂
- $mail->CharSet = "GB2312"; // 這裡指定字元集!
- $mail->Encoding = "base64";
$mail->AddAddress($sendto_email,$user_name);// 收件者郵箱和姓名
- $mail->AddReplyTo("","中國資金管理網");
//$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 = <<
- Treasurery Online 周刊
- 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 "";
- }
//讀取文本 郵件地址 您也可以讀 資料庫
- $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://bbs.it-home.org/', $user_name);
- redirect("?action=$i");
- }
- else {
- echo "郵件全部發送完畢";
- exit;
- }
- ?>
-
複製代碼說明:讀取文章email.txt,也可以直接是qq號碼,每行一個號碼,然後用fget()讀取每行qq號碼,最後在加上qq郵箱尾碼@qq.com即可,其實php郵件群發很簡單,因公司需要PHP群發郵件,所以最近在做一個PHP群發程式系統,可以自由自設定多個群發郵箱,這樣群發數量就有保證了,所有設定都案頭化,很直觀操作!上面的PHP群發郵件,一次群發郵件數量測試在100-200之間且在本地群發即可無需上傳網上空間! |