亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

在PHP中用Socket發送電子郵件(二)

2019-09-08 23:11:21
字體:
來源:轉載
供稿:網友

send_mail類的實現

  現在開始介紹我所編寫的發送郵件類。有了上面的預備知識了,下面就是實現了。 類的成員變量     var $lastmessage;    //記錄最后返回的響應信息    var $lastact;        //最后的動作,字符串形式    var $welcome;        //用在HELO后面,歡迎用戶    var $debug;          //是否顯示調試信息    var $smtp;           //smtp服務器    var $port;           //smtp端口號    var $fp;             //socket句柄  其中,$lastmessage和$lastact用于記錄最后一次響應信息及執行的命令,當出錯時,用戶可以使用它們。為了測試需要,我還定義了$debug變量,當其值為true時,會在運行過程中顯示一些執行信息,否則無任何輸出。$fp用于保存打開后的socket句柄。 類的構造


   function send_mail($smtp, $welcome="", $debug=false)    {        if(empty($smtp)) die("SMTP cannt be NULL!");        $this->smtp=$smtp;        if(empty($welcome))        {            $this->welcome=gethostbyaddr("localhost");        }        else            $this->welcome=$welcome;        $this->debug=$debug;        $this->lastmessage="";        $this->lastact="";        $this->port="25";    }
  這個構造函數主要完成一些初始值的判定及設置。$welcome用于HELO指令中,告訴服務器用戶的名字。HELO指令要求為機器名,但是不用也可以。如果用戶沒有給出$welcome,則自動查找本地的機器名。 顯示調試信息

1    function show_debug($message, $inout)2    {3        if ($this->debug)4        {5            if($inout=="in")    //響應信息6            {7                $m='<< ';8            }9            else10                $m='>> ';11            if(!ereg("/n$", $message))12                $message .= "<br>";13            $message=nl2br($message);14            echo "<font color=#999999>${m}${message}</font>";15        }16    }
  這個函數用來顯示調試信息。可以在$inout中指定是上傳的指令還是返回的響應,如果為上傳指令,則使用"out";如果為返回的響應則使用"in"。 第3行,判斷是否要輸出調試信息。
第5行,判斷是否為響應信息,如果是,則在第7行將信息的前面加上"<< "來區別信息;否則在第10行加上">> "來區別上傳指令。
第11-12行,判斷信息串最后是否為換行符,如不是則加上HTML換行標記。第13行將所以的換行符轉成HTML的換行標記。
第14行,輸出整條信息,同時將信息顏色置為灰色以示區別。執行一個命令

1    function do_command($command, $code)2    {3        $this->lastact=$command;4        $this->show_debug($this->lastact, "out");5        fputs ( $this->fp, $this->lastact );6        $this->lastmessage = fgets ( $this->fp, 512 );7        $this->show_debug($this->lastmessage, "in");8        if(!ereg("^$code", $this->lastmessage))9        {10            return false;11        }12        else13            return true;14    }
  在編寫socket處理部分發現,一些命令的處理很相似,如HELO,MAIL FROM,RCPT TO,QUIT,DATA命令,都要求根據是否顯示調試信息將相關內容顯示出來,同時對于返回的響應碼,如果是期望的,則應繼續處理,如果不是期望的,則應中斷出理。所以為了清晰與簡化,專門對這些命令的處理編寫了一個通用處理函數。函數的參數中$code為期望的響應碼,如果響應碼與之相同則表示處理成功,否則出錯。 第3行,記錄最后執行命令。
第4行,將上傳命令顯示出來。
第5行,則使用fputs真正向服務器傳換指令。
第6行,從服務器接收響應信息將放在最后響應消息變量中。
第7行,將響應信息顯示出來。
第8行,判斷響應信息是否期待的,如果是則第13行返回成功(true),否則在第10行返回失敗(false)。   這樣,這個函數一方面完成指令及信息的發送顯示功能,別一方面對返回的響應判斷是否成功。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美在线视频免费播放| 久久久久女教师免费一区| 日韩国产在线播放| 丝袜美腿精品国产二区| 欧美另类69精品久久久久9999| 亚洲色在线视频| 狠狠操狠狠色综合网| 精品久久久久久中文字幕一区奶水| 2019国产精品自在线拍国产不卡| 欧美国产日韩一区| 日韩欧美国产免费播放| 国产va免费精品高清在线观看| 精品日韩视频在线观看| 精品无码久久久久久国产| 久久久久在线观看| 国产精品视频资源| 国产精品小说在线| 亚洲第一男人av| 国自产精品手机在线观看视频| 欧美日韩不卡合集视频| 欧美丰满少妇xxxx| 黑人巨大精品欧美一区二区免费| 亚洲第一男人av| 欧洲午夜精品久久久| 国产精品视频久久久| 57pao成人永久免费视频| 国内精品久久久久久久| 日韩美女写真福利在线观看| 69av成年福利视频| 国产精品国产三级国产aⅴ浪潮| 国产精品第一第二| 国产成人精品视| 日本一欧美一欧美一亚洲视频| 97国产真实伦对白精彩视频8| 久久天天躁狠狠躁老女人| 国产中文字幕亚洲| 91久久精品日日躁夜夜躁国产| 精品国产一区二区三区四区在线观看| 日韩在线一区二区三区免费视频| 中文字幕亚洲在线| 奇米影视亚洲狠狠色| 久久久国产一区二区三区| 国产精品视频26uuu| 欧美性色视频在线| 一区二区三区视频免费| 奇门遁甲1982国语版免费观看高清| 91精品久久久久久久久不口人| 夜夜嗨av色综合久久久综合网| 97精品国产97久久久久久春色| 热re99久久精品国产66热| 欧美成人精品一区二区三区| 国产精品久久久久久久午夜| 国产精品久久色| 爽爽爽爽爽爽爽成人免费观看| 久久精品在线视频| 91精品国产综合久久久久久蜜臀| 国产欧美精品va在线观看| 精品国产户外野外| y97精品国产97久久久久久| 欧美日韩在线另类| 亚洲男人7777| 久久久电影免费观看完整版| 伊人伊成久久人综合网站| 欧美专区在线观看| 91情侣偷在线精品国产| 亚洲国模精品私拍| 成人激情视频免费在线| 久久亚洲精品视频| 亚洲欧洲在线观看| 久久频这里精品99香蕉| 国产一区二区视频在线观看| 中文字幕一区二区精品| 国产精品精品视频一区二区三区| 国产精品久久久久aaaa九色| 欧美日韩综合视频网址| 国产剧情日韩欧美| 日韩精品极品在线观看| 日韩成人网免费视频| 精品偷拍各种wc美女嘘嘘| 隔壁老王国产在线精品| 精品国产欧美一区二区三区成人| 在线观看欧美日韩国产| 亚洲欧美一区二区精品久久久| 久久伊人精品一区二区三区| 欧美肥老太性生活视频| 欧美激情乱人伦一区| 在线电影av不卡网址| 亚洲人成电影在线观看天堂色| 麻豆精品精华液| 成人h视频在线观看播放| 91av在线播放| 国产午夜精品一区二区三区| 亚洲影院色无极综合| 亚洲高清不卡av| 日韩欧美高清在线视频| 国产精品va在线播放我和闺蜜| 久久91亚洲人成电影网站| 色老头一区二区三区在线观看| 欧美激情在线播放| 97成人精品区在线播放| 久久综合伊人77777蜜臀| 一本久久综合亚洲鲁鲁| 中文亚洲视频在线| 国产69精品久久久久9| 97精品一区二区三区| 日韩欧美精品中文字幕| 国产在线精品播放| 欧美黑人狂野猛交老妇| 96国产粉嫩美女| 全色精品综合影院| 国产在线拍偷自揄拍精品| 成人激情av在线| 日本精品久久久久影院| 国产精品专区一| 91啪国产在线| 国产啪精品视频网站| 欧美精品videosex牲欧美| 欧美日韩国产精品一区二区不卡中文| 精品精品国产国产自在线| 国产精品男女猛烈高潮激情| 久久成人亚洲精品| 日韩精品福利网站| 97色在线视频| 国产精品久久久久91| 亚洲一区二区久久久| 亚洲欧美一区二区三区在线| 精品福利一区二区| 欧美激情视频在线| 久久久久久久久久久亚洲| 国产精品九九久久久久久久| 97视频色精品| 久久91精品国产91久久跳| 日韩有码片在线观看| 成人春色激情网| 精品美女国产在线| 欧美精品久久一区二区| 亚洲日本aⅴ片在线观看香蕉| 黄色成人在线播放| 欧美激情va永久在线播放| 性视频1819p久久| 国产精品99蜜臀久久不卡二区| 亚洲欧美国产制服动漫| 九九热最新视频//这里只有精品| 久久夜色精品亚洲噜噜国产mv| 国产精品国产三级国产aⅴ浪潮| 欧美成人免费在线观看| 久久久亚洲国产| 国产日韩在线精品av| 91精品久久久久久久久久入口| 91精品久久久久久久久青青| 亚洲第一综合天堂另类专| 黑人精品xxx一区| 国产在线日韩在线| 午夜精品久久久久久99热软件| 一夜七次郎国产精品亚洲| 成人性生交大片免费观看嘿嘿视频| 国产精品高潮视频| 国产精品av在线播放| 国产精品一区二区三区成人| 亚洲缚视频在线观看| 国产一区二区三区免费视频| 亚洲精品国产精品久久清纯直播| 亚洲xxxx在线| 久久久国产一区二区三区|