Home  >  Article  >  Backend Development  >  Example code for implementing mass mailing using phpmailer class

Example code for implementing mass mailing using phpmailer class

WBOY
WBOYOriginal
2016-07-25 08:58:29947browse
  1. /**

  2. * Bulk email example
  3. * phpmailer application example
  4. */
  5. //PHPmailer class file
  6. require_once("class.phpmailer.php");

  7. function smtp_mail ($sendto_email, $subject, $body, $extra_hdrs, $user_name) {
  8. $mail = new PHPMailer();
  9. $mail->IsSMTP(); // send via SMTP
  10. $mail->Host = "smtp.163.com"; // SMTP servers
  11. $mail->SMTPAuth = true; // turn on SMTP authentication
  12. $mail->Username = "test123"; // SMTP username Note: Ordinary email authentication does not require adding @domain name
  13. $mail->Password = "1983106"; // SMTP password

  14. $mail->From = ""; // Send Sender's email address

  15. $mail->FromName = "WWW.JBXUE.COM"; // Sender, such as Programmer's Home

  16. $mail->CharSet = "GB2312" ; //Specify the character set here!

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

  18. $mail->AddAddress($sendto_email,$user_name); // Recipient email and name

  19. $mail-> AddReplyTo("","Programmer's Home");

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

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

  25. // The email content can be sent directly as html file

  26. $mail-> Body = <<
  27. phpmailer mass email example_bbs.it-home.org
  28. < /body>
  29. EOT;
  30. $mail->AltBody ="text/html";
  31. if($mail->Send())
  32. {
  33. info_write("ok.txt"," $user_name was sent successfully");
  34. }
  35. else {
  36. info_write("falied.txt","$user_name failed, error message $mail->ErrorInfo");
  37. }
  38. }
  39. //End of sending Email function< /p>
  40. // Write the send result function, error log record

  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. //Timed jump page function where 1000 is the time ,1 second, you can customize

  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. //Read text email address You can also read the database

  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. // Parameter description (send to, email subject, email content, additional information, user name)

  62. $i = $_GET ['action'];
  63. $i++;
  64. if ($i<$len)
  65. {
  66. $rs=explode("@",$list_email[$i]);
  67. $user_name = $rs['0'] ;
  68. echo "Sending the {$i}th ({$list_email[$i]}) email...{$user_name}";
  69. smtp_mail($list_email[$i], 'Treasurery Online Weekly No. Issue 12', $body, 'http://bbs.it-home.org/', $user_name);
  70. redirect("?action=$i");
  71. }
  72. else {
  73. echo "Send all emails Completed";
  74. exit;
  75. }
  76. ?>
Copy code

Code description: The above method of reading the article email.txt can also directly read the QQ number, one number per line, and then use fget() to read the QQ number in each line, and finally add the QQ mailbox suffix @qq.com. This smart idea, I hope it will be helpful to you. Attached is the download address of PHPMailer email sending class V5.1.



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn