国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 網(wǎng)絡(luò)通信 > 正文

SMTP協(xié)議-PHP的郵件發(fā)送程序例子

2019-11-04 10:57:21
字體:
供稿:網(wǎng)友

classZSMailBox
{
var$fpSocket;
var$strLog;

var$strSMTPServer;
var$strSMTPPort;
var$strFrom;
var$strTo;

functionZSMailBox()
{
$this->strLog="";
$this->strSMTPPort="25";
$this->strFrom="";
$this->strTo="";
}

functionDoCommand($strCommand,$strOKReply)
{
fputs($this->fpSocket,$strCommand);
$strReply=fgets($this->fpSocket,512);
if(!ereg("^$strOKReply",$strReply))
{
returnfalse;
}

returntrue;
}

functionWaitReply($strOKReply)
{
$strReply=fgets($this->fpSocket,512);
$this->strLog.="Reply:$strReply"."
n";
if(!ereg("^$strOKReply",$strReply))
{
returnfalse;
}

returntrue;
}

functionSendData($strSubject,$strContent)
{
$str="To:".$this->strTo.chr(13).chr(10);
$str.="From:".$this->strFrom.chr(13).chr(10);
$str.="Subject:".$strSubject.chr(13).chr(10).chr(13).chr(10);
$str.=$strContent;
$str.=chr(13).chr(10).".".chr(13).chr(10);

fputs($this->fpSocket,$str);

returntrue;
}

functionSendMail($strSubject,$strContent)
{
if($this->VerifySMTPVariables())
{
$this->strLog="";
}else
{
$this->strLog="AnyofSMTPvariablesareinvaild
n";
returnfalse;
}

$this->fpSocket=fsockopen($this->strSMTPServer,$this->strSMTPPort);
if(!$this->fpSocket)
{
$this->strLog.="Cann'topensocket
n";
returnfalse;
}
$this->strLog.="OpensocketsUCceed
n";

if(!$this->WaitReply("220"))
{
fclose($this->fpSocket);
returnfalse;
}
$strCommand="HELO".$this->strSMTPServer."n";
if(!$this->DoCommand($strCommand,"250"))
{
$this->strLog.="HELOerror
n";
fclose($this->fpSocket);
returnfalse;
}
$strCommand="MAILFROM:<".$this->strTo.">n";
if(!$this->DoCommand($strCommand,"250"))
{
$this->strLog.="MAILerror
n";
fclose($this->fpSocket);
returnfalse;
}
$strCommand="RCPTTO:<".$this->strTo.">n";
if(!$this->DoCommand($strCommand,"250"))
{
$this->strLog.="Refusetoestablishthechannel
n";
fclose($this->fpSocket);
returnfalse;
}
$strCommand="DATAn";
if(!$this->DoCommand($strCommand,"354"))
{
$this->strLog.="Refusetorecievethedata
n";
fclose($this->fpSocket);
returnfalse;
}
if(!$this->SendData($strSubject,$strContent))
{
$this->strLog.="Senddataerror
n";
fclose($this->fpSocket);
returnfalse;
}
if(!$this->WaitReply("250"))
{
$this->strLog.="Senddataunsuccessful
n";
fclose($this->fpSocket);
returnfalse;
}
$strCommand="QUITn";
if(!$this->DoCommand($strCommand,"221"))
{
$this->strLog.="QUITerror
n";
fclose($this->fpSocket);
returnfalse;
}

fclose($this->fpSocket);

returntrue;
}

functionVerifyMailAddr($strMailAddr)
{
return(eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$",$strMailAddr));
}

functionVerifyWebSiteAddr($strWebSiteAddr)
{
return(eregi("^([_0-9a-z-]+.)+[a-z]{2,3}$",$strWebSiteAddr));
}

functionVerifySMTPVariables()
{
if(!$this->VerifyWebSiteAddr($this->strSMTPServer))
returnfalse;
if(!isset($this->strSMTPPort))
returnfalse;
if(!$this->VerifyMailAddr($this->strFrom))
returnfalse;
if(!$this->VerifyMailAddr($this->strTo))
returnfalse;

returntrue;
}

functionSetSMTPVariables($strServer,$strPort,$strFrom,$strTo)
{
if(isset($strServer))
$this->strSMTPServer=$strServer;
if(isset($strPort))
$this->strSMTPPort=$strPort;
if(isset($strFrom))
$this->strFrom=$strFrom;
if(isset($strTo))
$this->strTo=$strTo;
}
}
?>



{
if(isset($nServer))
{
switch($nServer)
{
case1:$strSMTPServer="smtp.sina.com.cn";
$strSMTPPort="25";
$strTo.="@sina.com";
break;
case2:$strSMTPServer="smtp.163.net";
$strSMTPPort="25";
$strTo.="@163.net";
break;
case3:$strSMTPServer="smtp.yeah.net";
$strSMTPPort="25";
$strTo.="@yeah.net";
break;
case4:$strSMTPServer="smtp.netease.com";
$strSMTPPort="25";
$strTo.="@netease.com";
break;
case5:$strSMTPServer="smtp.sohu.com";
$strSMTPPort="25";
$strTo.="@sohu.com";
break;
case6:$strSMTPServer="smtp.263.net";
$strSMTPPort="25";
$strTo.="@263.net";
break;
default:$strSMTPServer="smtp.sina.com.cn";
$strSMTPPort="25";
$strTo="guestxyz@sina.com";
break;
}
}
if(!isset($strFrom)($strFrom==""))
{
$strFrom=$strTo;
}
if(!isset($strSubject)($strSubject==""))
{
$strSubject="Nosubject";
}
if(!isset($strContent)($strContent==""))
{
$strContent="Nocontent";
}

$zsmb=newZSMailBox;
$zsmb->SetSMTPVariables($strSMTPServer,$strSMTPPort,$strFrom,$strTo);
if($zsmb->SendMail($strSubject,$strContent))
{
}else
{
printf($zsmb->strLog);
}
}




發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 富平县| 江川县| 中山市| 板桥市| 衡水市| 秦安县| 永济市| 和田县| 沙洋县| 濉溪县| 夏邑县| 金寨县| 海宁市| 锦州市| 手机| 门源| 茶陵县| 泸西县| 株洲市| 绥滨县| 哈巴河县| 开阳县| 沂南县| 鄂伦春自治旗| 莱阳市| 永登县| 九台市| 漳平市| 巧家县| 同仁县| 石柱| 塔城市| 馆陶县| 涿州市| 清水县| 内乡县| 长子县| 左贡县| 凌源市| 寿光市| 巫溪县|