本篇文章是对用php实现邮件群发的代码进行了详细的分析介绍,需要的朋友参考下
复制代码 代码如下:
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.niutw.com;// 发件人 ,比如 唯美搭配网
$mail->charset = gb2312;// 这里指定字符集!
$mail->encoding = base64;
$mail->addaddress($sendto_email,$user_name);// 收件人邮箱和姓名
$mail->addreplyto(,web之家);
//$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{
$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.yem120.com/', $user_name);
redirect(?action=$i);
}
else {
echo 邮件全部发送完毕;
exit;
}
?>
小思维:
上面的读取文章email.txt,美国空间,香港虚拟主机,也可以直接是qq号码,每行一个号码,然后用fget()读取每行qq号码,香港空间,最后在加上qq邮箱后缀 @qq.com即可