> 백엔드 개발 > PHP 튜토리얼 > phpmailer 클래스를 사용하여 대량 메일링을 구현하는 예제 코드

phpmailer 클래스를 사용하여 대량 메일링을 구현하는 예제 코드

WBOY
풀어 주다: 2016-07-25 08:58:29
원래의
972명이 탐색했습니다.
  1. /**

  2. * 邮件群发示例
  3. * phpmailer类应用实例
  4. */
  5. //PHPmailer类 文件
  6. require_once("class.phpmailer.php");

  7. //发送Email函数

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

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

  16. $mail->FromName = "WWW.JBXUE.COM"; // 发件人 ,比如 程序员之家

  17. $mail->CharSet = "GB2312"; // 这里指定字符集!

  18. $mail->Encoding = "base64";

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

  20. $mail->AddReplyTo("","程序员之家");

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

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

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

  27. $mail->Body = <<
  28. phpmailer邮件群发示例_bbs.it-home.org
  29. EOT;
  30. $mail->AltBody ="text/html";
  31. if($mail->Send())
  32. {
  33. info_write("ok.txt","$user_name 发送成功");
  34. }
  35. else {
  36. info_write("falied.txt","$user_name 失败,错误信息$mail->ErrorInfo");
  37. }
  38. }
  39. // 发送Email函数结束

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

  41. function info_write($filename,$info_log)
  42. {
  43. $info.= $info_log;
  44. $info.="rn";
  45. $fp = fopen ($filename,a);
  46. fwrite($fp,$info);
  47. fclose($fp);
  48. }

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

  50. function redirect($url)
  51. {
  52. echo "<script></li> <li>function redirect()</li> <li>{</li> <li>window.location.replace('$url');</li> <li>}</li> <li>window.setTimeout('redirect();', 15000);</li> <li></script>";
  53. }

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

  55. $filename = "email.txt";
  56. $fp = fopen($filename,"r");
  57. $contents = fread($fp,filesize($filename));
  58. $list_email=explode("rn",$contents);
  59. $len=count($list_email);
  60. fclose($fp);

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

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

代码说明: 以上读取文章email.txt,也可以直接是qq号码,每行一个号码,然后用fget()读取每行qq号码,最后在加上qq邮箱后缀 @qq.com即可。 这个聪明的想法,希望对你有所帮助哈。 附,PHPMailer邮件发送类V5.1下载地址。



원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿