SMTPAuth = true; // turn on SMTP authe">
当前位置:Gxlcms > PHP教程 > php通过读取文本进行邮件群发的程序

php通过读取文本进行邮件群发的程序

时间:2021-07-01 10:21:17 帮助过:16人阅读

  1. // 请求 PHPmailer类 文件

  2. require_once("class.phpmailer.php");

  3. //发送Email函数

  4. function smtp_mail ( $sendto_email, $subject, $body, $extra_hdrs, $user_name) {
  5. $mail = new PHPMailer();
  6. $mail->IsSMTP(); // send via SMTP
  7. $mail->Host = "smtp.163.com"; // SMTP servers
  8. $mail->SMTPAuth = true; // turn on SMTP authentication
  9. $mail->Username = "jessiejl"; // SMTP username 注意:普通邮件认证不需要加 @域名
  10. $mail->Password = "1983106"; // SMTP password

  11. $mail->From = ""; // 发件人邮箱

  12. $mail->FromName = bbs.it-home.org; // 发件人 ,脚本学堂
  13. $mail->CharSet = "GB2312"; // 这里指定字符集!
  14. $mail->Encoding = "base64";

  15. $mail->AddAddress($sendto_email,$user_name);// 收件人邮箱和姓名

  16. $mail->AddReplyTo("","中国资金管理网");

  17. //$mail->WordWrap = 50; // set word wrap

  18. //$mail->AddAttachment("/var/tmp/file.tar.gz");// attachment 附件1
  19. //$mail->AddAttachment("/tmp/image.jpg", "new.jpg"); //附件2
  20. $mail->IsHTML(true); // send as HTML
  21. $mail->Subject = $subject;

  22. // 邮件内容 可以直接发送html文件

  23. $mail->Body = <<
  24. Treasurery Online 周刊
  25. EOT;
  26. $mail->AltBody ="text/html";
  27. if($mail->Send())
  28. {
  29. info_write("ok.txt","$user_name 发送成功");
  30. }
  31. else {
  32. info_write("falied.txt","$user_name 失败,错误信息$mail->ErrorInfo");
  33. }
  34. }
  35. // 发送Email函数结束

  36. // 写入发送结果函数,错误日志记录

  37. function info_write($filename,$info_log)
  38. {
  39. $info.= $info_log;
  40. $info.="\r\n";
  41. $fp = fopen ($filename,a);
  42. fwrite($fp,$info);
  43. fclose($fp);
  44. }

  45. //定时跳转页面 函数其中 1000是时间,1秒, 您可以自定义

  46. function redirect($url)
  47. {
  48. echo "";
  49. }

  50. //读取文本 邮件地址 您也可以读 数据库

  51. $filename = "email.txt";
  52. $fp = fopen($filename,"r");
  53. $contents = fread($fp,filesize($filename));
  54. $list_email=explode("\r\n",$contents);
  55. $len=count($list_email);
  56. fclose($fp);

  57. // 参数说明(发送到, 邮件主题, 邮件内容, 附加信息, 用户名)

  58. $i = $_GET['action'];
  59. $i++;
  60. if ($i<$len)
  61. {
  62. $rs=explode("@",$list_email[$i]);
  63. $user_name = $rs['0'];
  64. echo "正在发送第{$i}封({$list_email[$i]})邮件......{$user_name}";
  65. smtp_mail($list_email[$i], 'Treasurery Online 周刊第十二期', $body, 'http://bbs.it-home.org/', $user_name);
  66. redirect("?action=$i");
  67. }
  68. else {
  69. echo "邮件全部发送完毕";
  70. exit;
  71. }
  72. ?>

说明:读取文章email.txt,也可以直接是qq号码,每行一个号码,然后用fget()读取每行qq号码,最后在加上qq邮箱后缀@qq.com即可,其实php邮件群发很简单,因公司需要PHP群发邮件,所以最近在做一个PHP群发程序系统,可以自由自设置多个群发邮箱,这样群发数量就有保证了,所有设置都桌面化,很直观操作!上面的PHP群发邮件,一次群发邮件数量测试在100-200之间且在本地群发即可无需上传网上空间!

人气教程排行