时间:2021-07-01 10:21:17 帮助过:28人阅读
- <?php
- define('ROOT_PATH',dirname(__FILE__));
- require_once 'library/senderApi.php'; //发送邮件接口
- require_once 'config/senderListConf.php'; //发送邮件帐号列表
- //读取文本 邮件地址
- shuffle($senderListConf);
- $filename = "data/email.txt";
- $fp = fopen($filename,"r");
- $contents = fread($fp,filesize($filename));
- $list_email=explode("\r\n",$contents);
- $len=count($list_email);
- fclose($fp);
- //邮件内容为网页上的内容
- $htmlContent = file_get_contents('http://taobao.1080www.com');
- // 参数说明(发送到, 邮件主题, 邮件内容, 附加信息, 用户名)
- foreach($list_email as $key=>$value)
- {
- $value = trim($value);
- $rs=explode("@",$value);
- $user_name = $rs['0'];
- smtp_mail($value, '秋季补水化妆品_秋季护肤皮肤保养_秋天皮肤干燥怎么办-小常识',$htmlContent, 'http://taobao.1080www.com/', $user_name,$senderListConf,0);
- sleep(3);
- if($key%200 == 0 && $key>0)
- {
- shuffle($senderListConf); //每200次 吧发送邮件顺序打乱一次
- }
- }
- die('SendingOver.................'."\r\n");
- ?>
封装phpmailer senderApi.php
- <?php
- // 请求 PHPmailer类 文件
- error_reporting(E_ERROR);
- require_once("phpmailer/phpmailer.class.php");
- // 写入发送结果函数
- function info_write($filename,$info_log)
- {
- $info.= $info_log;
- $info.="\r\n";
- $fp = fopen ($filename,'a');
- fwrite($fp,$info);
- fclose($fp);
- }
- //发送Email函数
- function smtp_mail ( $sendto_email, $subject, $body, $extra_hdrs, $user_name,$senderListConf,$sender=0) {
- $batch_no = date("Y_m_d_H");
- $mail = new PHPMailer();
- $mail->IsSMTP();
- $sender_info = $senderListConf[$sender];
- if(!$sender_info) 'die 发送帐号出错了..............'; // send via SMTP
- $mail->Host = $sender_info['Host']; // SMTP servers
- $mail->SMTPAuth = true; // turn on SMTP authentication
- $mail->Username = $sender_info['Username']; // SMTP username 注意:普通邮件认证不需要加 @域名
- $mail->Password = $sender_info['Password']; // SMTP password
- $mail->From = $sender_info['Username']; // 发件人邮箱
- $mail->FromName = "淘宝推荐---TaoBao"; // 发件人 ,比如 中国资金管理网
- $mail->CharSet = "UTF-8"; // 这里指定字符集!
- $mail->Encoding = "base64";
- $mail->AddAddress($sendto_email,$user_name); // 收件人邮箱和姓名
- $mail->AddReplyTo("ken@cscsws.com","淘宝推荐");
- //$mail->WordWrap = 50; // set word wrap
- //$mail->AddAttachment("/var/tmp/file.tar.gz"); // attachment 附件1
- //$mail->AddAttachment("/home/www/images/zhuanti/qiujibushui/qiujibushui_attache.jpg", "new.jpg"); //附件2
- $mail->IsHTML(true); // send as HTML
- $mail->Subject = $subject;
- // 邮件内容 可以直接发送html文件
- $mail->Body = $body;
- $mail->AltBody ="text/html";
- if($mail->Send())
- {
- info_write(ROOT_PATH.'/log/'.$batch_no."ok.txt","$user_name 发送成功");
- }
- else
- {
- info_write(ROOT_PATH.'/log/'.$batch_no."falied.txt","$user_name 失败,发送账号".$sender_info['Username'].",错误信息$mail->ErrorInfo");
- if($senderListConf[$sender+1])
- {
- $sender = smtp_mail ( $sendto_email, $subject, $body, $extra_hdrs, $user_name,$senderListConf,($sender+1));
- }
- }
- return $sender;
- }
发送邮件列表示例 senderListConf.php
- <?php
- $senderListConf = array(
- //搜狐邮箱
- array('Host'=>'smtp.sohu.com','Username'=>'youemail@sohu.com','Password'=>'yourpassword'),
- //雅虎邮箱
- array('Host'=>'smtp.mail.yahoo.com','Username'=>'youemail@yahoo.cn','Password'=>'yourpassword'),
- //163邮箱
- array('Host'=>'smtp.163.com','Username'=>'youemail@163.com','Password'=>'yourpassword'),
- //126邮箱
- array('Host'=>'smtp.126.com','Username'=>'youemail@126.com','Password'=>'yourpassword'),
- //qq邮箱
- array('Host'=>'smtp.qq.com','Username'=>'youemail@qq.com','Password'=>'yourpassword'),
- //谷歌邮箱
- array('Host'=>'smtp.gmail.com','Username'=>'youemail@gmail.com','Password'=>'yourpassword'),
- //139邮箱
- array('Host'=>'smtp.139.com','Username'=>'youemail@139.com','Password'=>'yourpassword'),
- //qq邮箱
- array('Host'=>'smtp.qq.com','Username'=>'youemail@qq.com','Password'=>'(yourpassword'),
- );