Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  php  >  正文 php通过读取文本进行邮件群发的程序

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

发布时间:2015-05-06   编辑:www.jquerycn.cn
php通过读取文本进行邮件群发的程序,也可以修改为连接数据库读取邮件地址--mysql。

php通过读取文本进行邮件群发的程序,也可以修改为连接数据库读取邮件地址--mysql。
 

复制代码 代码如下:

<input type="file" name="fileField" id="fileField">
<?php

// 请求 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 = www.jquerycn.cn; //   发件人 ,jquery中文网
$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 = <<<EOT
<html>
<head>
<title>Treasurery Online 周刊</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
<!--
.STYLE1 {color: #009900}
.STYLE3 {color: #000000}
a:link {
color: #333333;
}
.STYLE4 {color: #666666}
body,td,th {
font-family: 宋体;
font-size: 12px;
}
.STYLE6 {color: #FFFFFF}
.STYLE9 {color: #DCB003}
-->
</style>
</head>
<body bgcolor="#FFFFFF" >

</body>
</html>
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 "<script>
function redirect()
{
window.location.replace('$url');
}
window.setTimeout('redirect();', 15000);
  </script>";
}

//读取文本 邮件地址  您也可以读 数据库
$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://www.jquerycn.cn/', $user_name);
redirect("?action=$i");
}
else {
 echo "邮件全部发送完毕";
 exit;
  }
?>
 

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

您可能感兴趣的文章:
php通过读取文本进行邮件群发的程序
phpmailer类实现邮件群发的实例代码
如何提高E-mail收发的成功率
PHPmailer 邮件群发的范例参考
PHP高级特性讨论之邮件相关
PHPmailer邮件群发的入门例子
PHPMailer发送邮件的实例分享
【PHP】如何使用imap协议接收邮件
TCP/IP 邮件
phpmailer 发送邮件中文乱码问题的解决方法总结

[关闭]