>  기사  >  백엔드 개발  >  php群发邮件

php群发邮件

WBOY
WBOY원래의
2016-06-23 14:31:021118검색

简介:这是php群发邮件的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。

class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=325740' scrolling='no'> 发过邮件的人都知道,从别人那里申请的邮箱,没法群发。有些人说QQ不是群发吗?对是可以,但只能一次性发30个以内!发多了QQ邮箱就发不出去了!再说也没有法自定义邮箱格式!

下面说一下传统群发邮件方法!你如果不会写 php程序你可以选择用群发软件!在这里我们先只讲 php程序!如下:

mail.class.php地址:http://www.123lianjie.com/mail.class.txt

include("mail.class.php");

$scontent = date("Y-m-d H-i-s");
##########################################
$smtpserver = "smtp.tom.com";//SMTP 服务器
$smtpserverport =25;//SMTP 服务器端口
$smtpusermail = "c@tom.com";//SMTP服务器的用户邮箱
$smtpemailto = "e421083458@163.com";//发送给谁
$smtpuser = "c";//SMTP服务器的用户帐号
$smtppass = "3780292";//SMTP服务器的用户密码
$mailsubject = "感恩2009,相约2010,导购泉城祝您元旦快乐";//邮件主题
$mailbody = $scontent;//邮件内容
$mailtype = "HTML";//邮件格式(HTML/TXT),TXT为文本邮件
##########################################
$smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);//这里面的一个true是表示使用身份验证,否则不使用身份验证.
$smtp->debug = false;//是否显示发送的调试信息
$smtp->sendmail($smtpemailto, $smtpusermail, $mailsubject, $mailbody, $mailtype);
?>

如果你用这种方法发的邮件过多!smtp服务器就有可能把你暂时屏蔽!这时你就无法发出邮件了!怎么避免这种问题呢?自己架势mail服务器就没问题了!

在这里我们的用WinWebMail 3.7.7.3来架设mail服务器!建议把所有限制全部√去!这样mail服务器就能得最大限度的应用!
找出自己的多个域名!分别做一个二级域名指向你的mail服务器IP!然后再再你的mail服务器上绑定上域名!然后用以上多个域名分别注册多个账号!这样子你就不只是一个smtp服务器了!是多个!adsl用户IP绑定问题大家都会吧!用路由做一个映射!就可以了!测试服务器是否能够正常使用!

如果没有问题了!我们就来写php群发程序了!

我们要先想几个问题!1.不要发邮件过快,10s可以吧!2.能按数组来发邮件这样方便加的入邮箱列表!3.轮流使用不同的发信地址来发送邮件!具体大家看程序吧!
include("mail.class.php");
session_start();
$email_arr = explode("|","421083458@qq.com");
//print_r($email_arr);
if(!isset($_SESSION['e']))
$_SESSION['e'] = 0;
if($_SESSION['e']>=count($email_arr))
die("全部邮件发送完毕!");
$e = $_SESSION['e'];
$_SESSION['e'] = $_SESSION['e']+1 ;
echo $e;
date_default_timezone_set('PRC');
$scontent = date("Y-m-d H-i-s");
$domain = array(
     "0"=>array("0"=>"k@mail.kemeishuma.com","1"=>"k","2"=>"3780292"),
     "1"=>array("0"=>"p@mail.penghuaji.org","1"=>"p","2"=>"3780292"),
     "2"=>array("0"=>"s@mail.smileshoping.cn","1"=>"s","2"=>"3780292"),
     "3"=>array("0"=>"1@mail.123lianjie.com","1"=>"1","2"=>"3780292"),
     "4"=>array("0"=>"c@mail.chunshuiji.org","1"=>"c","2"=>"3780292"),
     );
if(!isset($_SESSION['i'])||$_SESSION['i']>4)
$_SESSION['i'] = 0;
$i = $_SESSION['i'];
$_SESSION['i'] = $_SESSION['i']+1 ;
##########################################
$smtpserver = "mail.chunshuiji.org";//SMTP服务器
$smtpserverport =25;//SMTP服务器端口
$smtpusermail = $domain[$i][0];//SMTP服务器的用户邮箱
$smtpemailto = $email_arr[$e];//发送给谁
$smtpuser = $domain[$i][1];//SMTP服务器的用户帐号
$smtppass = $domain[$i][2];//SMTP服务器的用户密码
$mailsubject = "感恩2009,相约2010,导购泉城祝您元旦快乐";//邮件主题
$mailbody = $scontent;//邮件内容
$mailtype = "HTML";//邮件格式(HTML/TXT),TXT为文本邮件
##########################################
$smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);//这里面的一个true是表示使用身份验证,否则不使用身份验证.
$smtp->debug = true;//是否显示发送的调试信息
$smtp->sendmail($smtpemailto, $smtpusermail, $mailsubject, $mailbody, $mailtype);
?>
<script> <br />function gonext() <br />{ <br />setTimeout("location.href='sentmail.php?id=<?php echo $email_arr[$e]?>'",10000); <br />} <br /></script>
用户邮件发送成功!
<script>gonext()</script>

“php群发邮件”的更多相关文章 》

爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具

http://biancheng.dnbcw.info/php/325740.html pageNo:13
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:php面试知识다음 기사:PHP的ob_start()函数