찾다
php教程php手册PHP实现邮件群发机

PHP实现邮件群发机

Jun 13, 2016 am 10:54 AM
php원칙성취하다공급시나적용하다~의텐센트Google우편우편야후

原理:

第一申请大量的邮箱帐号 腾讯的 126的 163的 新浪的 雅虎的 谷歌的 等等提供smtp服务的

第二:收集你要发送邮件的邮件列表

第三:遍历邮件列表,每一个邮件发送邮件

第四:用linux下定时脚本后台运行 我跑了两天 哈哈 ,因为为了尽可能的保证每一个都发送成功

 

原理是很简单,但是其中还是遇到很多的问题。

第一:邮件失败的问题,我这里采用两个方式解决,第一把大量的那些邮箱帐号依次去发送,直到成功。然后每次发送500封邮件 后把发送邮箱列表随机打散(避免一个持续失败)。

我用的是phpmailer

多的不多说了上代码了。phpmailer 大家自己搜索下载吧

 

入口脚本:就是linux 执行的 mail_001.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

 

// 请求 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

 

$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邮箱  www.2cto.com

        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'), 

); 

文件的代码我上传附件了,但是里面的发送邮箱我改了,如果有用的自行申请。

现在php发送邮件的网上的好多版本,找到适用你的那个就行了。

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.