• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • SMTP協議-PHP的郵件發送程序例子

    發表于:2007-05-26來源:作者:點擊數: 標簽:
    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,$strOKR

    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.="Opensocketsuclearcase/" target="_blank" >cceed
    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))
    {
    printf("OK");
    }else
    {
    printf($zsmb->strLog);
    }
    }

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>