當前位置:編程學習大全網 - 源碼下載 - Php實戰項目源代碼

Php實戰項目源代碼

& lt?服務器端編程語言(Professional Hypertext Preprocessor的縮寫)

if ($email_inc)返回;

$ email _ inc = " defined

define( "smtpport ",25);

pop3級{

var $ subject//電子郵件主題

var $ from _ email//發件人的地址

var $ from _ name//發件人姓名

var $ to _ email//收件人的地址

var $ to _ name//收件人的姓名

var $ body//電子郵件內容

var $ filename//文件名

var $ socket//當前套接字

var $ line

var $狀態;

函數pop 3 _ open($服務器,$端口)

{

$ this-& gt;socket = fsockopen($server,$ port);

如果($ this-& gt;套接字& lt= 0){

返回false

}

$ this-& gt;line = fgets($ this-& gt;插座,1024);

$ this-& gt;status[" last result "]= substr($ this-& gt;行,0,1);

$ this-& gt;status[" last result txt "]= substr($ this-& gt;行,0,1024);

如果($ this-& gt;狀態[" last result "]& lt;& gt“+”)返回false

返回true

}

函數pop3_user($user)

{

如果($ this-& gt;套接字& lt0){

返回false

}

fputs($ this-& gt;套接字," user $ this-& gt;usernn”);

$ this-& gt;line = fgets($ this-& gt;插座,1024);

$ this-& gt;status[" last result "]= substr($ this-& gt;行,0,1);

$ this-& gt;status[" last result txt "]= substr($ this-& gt;行,0,1024);

如果($ this-& gt;狀態[" last result "]& lt;& gt“+”)返回false

返回true

}

函數pop3_pass( $pass)

{

fputs($ this-& gt;socket," pass $ passrn ");

$ this-& gt;line = fgets($ this-& gt;插座,1024);

$ this-& gt;status[" last result "]= substr($ this-& gt;行,0,1);

$ this-& gt;status[" last result txt "]= substr($ this-& gt;行,0,1024);

如果($ this-& gt;狀態[" last result "]& lt;& gt“+”)返回0;

返回1;

}

函數pop3_stat()

{

fputs($ this-& gt;socket," statrn ");

$ this-& gt;line = fgets($ this-& gt;插座,1024);

$ this-& gt;status[" last result "]= substr($ this-& gt;行,0,1);

$ this-& gt;status[" last result txt "]= substr($ this-& gt;行,0,1024);

如果($ this-& gt;狀態[" last result "]& lt;& gt“+”)返回0;

如果(!eregi( "+ok(。*) (.*)",$ this-& gt;行,$regs))

返回0;

return $ regs[1];

}

函數pop3_list()

{

fputs($ this-& gt;socket,“listrn”);

$ this-& gt;line = fgets($ this-& gt;插座,1024);

$ this-& gt;status[" last result "]= substr($ this-& gt;行,0,1);

$ this-& gt;status[" last result txt "]= substr($ this-& gt;行,0,1024);

如果($ this-& gt;狀態[" last result "]& lt;& gt“+”)返回0;

$ I = 0;

while(substr($ this-& gt;line = fgets($ this-& gt;socket,1024),0,1)& lt;& gt".")

{

$ articles[$ I]= $ this-& gt;線;

$ i++;

}

$ articles[" count "]= $ I;

返回$ articles

}

函數pop3_retr($nr)

{

fputs($ this-& gt;socket," retr $ nrrn ");

$ this-& gt;line = fgets($ this-& gt;插座,1024);

$ this-& gt;status[" last result "]= substr($ this-& gt;行,0,1);

$ this-& gt;status[" last result txt "]= substr($ this-& gt;行,0,1024);

如果($ this-& gt;狀態[" last result "]& lt;& gt“+”)返回0;

while(substr($ this-& gt;line = fgets($ this-& gt;socket,1024),0,1)& lt;& gt".")

{

$ data[$ I]= $ this-& gt;線;

$ i++;

}

$ data[" count "]= $ I;

返回$ data

}

函數pop3_dele( $nr)

{

fputs($ this-& gt;socket," dele $ nrrn ");

$ this-& gt;line = fgets($ this-& gt;插座,1024);

$ this-& gt;status[" last result "]= substr($ this-& gt;行,0,1);

$ this-& gt;status[" last result txt "]= substr($ this-& gt;行,0,1024);

如果($ this-& gt;狀態[" last result "]& lt;& gt“+”)返回0;

返回1;

}

函數pop3_quit()

{

fputs($ this-& gt;socket,“quitrn”);

$ this-& gt;line = fgets($ this-& gt;插座,1024);

$ this-& gt;status[" last result "]= substr($ this-& gt;行,0,1);

$ this-& gt;status[" last result txt "]= substr($ this-& gt;行,0,1024);

如果($ this-& gt;狀態[" last result "]& lt;& gt“+”)返回0;

返回1;

}

}

smtp類{

var $ subject//字符串電子郵件主題

var $ fromname//字符串發送者名稱(opt)

var $ toname//字符串收件人名稱(opt)

var $ body//字符串體復制

var $附件;//附件(可選)

var $ attachmenttype

var $ socket

var $ line

var $狀態;

函數smtp($server = "localhost ",$port = smtpport)

{

return $ this-& gt;open($server,$ port);

}

函數smtpmail($fromemail,$fromname,$toemail,$toname,$subject,$body,$attachment=null,$attachmenttype= "text ")

{

$ this-& gt;subject = $ subject

$ this-& gt;toname = $ toname

$ this-& gt;fromname = $ fromname

$ this-& gt;body = $ body

$ this-& gt;附件= $附件;

$ this-& gt;attachment type = $ attachment type;

如果($ this-& gt;helo() == false){

返回false

}

如果($ this-& gt;mailfrom($fromemail) == false){

返回false

}

如果($ this-& gt;rcptto($toemail) == false){

返回false

}

如果($ this-& gt;body() == false){

返回false

}

如果($ this-& gt;quit() == false){

返回false

}

}

功能打開($服務器,$端口)

{

$ this-& gt;socket = fsockopen($server,$ port);

如果($ this-& gt;套接字& lt0)返回false

$ this-& gt;line = fgets($ this-& gt;插座,1024);

$ this-& gt;status[" last result "]= substr($ this-& gt;行,0,1);

$ this-& gt;status[" last result txt "]= substr($ this-& gt;行,0,1024);

如果($ this-& gt;狀態[" last result "]& lt;& gt" 2 ")返回false

返回true

}

函數helo()

{

if(fputs($ this-& gt;插座," helorn ")& lt;0 ){

返回false

}

$ this-& gt;line = fgets($ this-& gt;插座,1024);

$ this-& gt;status[" last result "]= substr($ this-& gt;行,0,1);

$ this-& gt;status[" last result txt "]= substr($ this-& gt;行,0,1024);

如果($ this-& gt;狀態[" last result "]& lt;& gt" 2 ")返回false

返回true

}

函數ehlo()

{

/*好吧,我們現在用“西洛”..直到我們需要

額外功能[未知]

*/

if(fputs($ this-& gt;socket," helo localhostrn ")& lt;0){

返回false

}

$ this-& gt;line = fgets($ this-& gt;插座,1024);

$ this-& gt;status[" last result "]= substr($ this-& gt;行,0,1);

$ this-& gt;status[" last result txt "]= substr($ this-& gt;行,0,1024);

如果($ this-& gt;狀態[" last result "]& lt;& gt" 2 ")返回false

返回true

}

函數mailfrom($fromemail)

{

if(fputs($ this-& gt;socket," mail from:& lt;$ fromemail & gtrn”)& lt;0){

返回false

}

$ this-& gt;line = fgets($ this-& gt;插座,1024);

$ this-& gt;status[" last result "]= substr($ this-& gt;行,0,1);

$ this-& gt;status[" last result txt "]= substr($ this-& gt;行,0,1024);

如果($ this-& gt;狀態[" last result "]& lt;& gt" 2 ")返回false

返回true

}

函數rcptto($toemail)

{

if(fputs($ this-& gt;套接字," rcpt to:& lt;$ toemail & gtrn”)& lt;0){

返回false

}

$ this-& gt;line = fgets($ this-& gt;插座,1024);

$ this-& gt;status[" last result "]= substr($ this-& gt;行,0,1);

$ this-& gt;status[" last result txt "]= substr($ this-& gt;行,0,1024);

如果($ this-& gt;狀態[" last result "]& lt;& gt" 2 ")返回false

返回true

}

函數體()

{

$ filesize = 0;

$ attachment = null

$ fp = null

$ buffer = sprintf(" from:% srn to:% srn subject:% srn ",$ this-& gt;fromname,$ this-& gt;toname,$ this-& gt;主題);

if(fputs($ this-& gt;socket," datarn ")& lt;0){

返回false

}

$ this-& gt;line = fgets($ this-& gt;插座,1024);

$ this-& gt;status[" last result "]= substr($ this-& gt;行,0,1);

$ this-& gt;status[" last result txt "]= substr($ this-& gt;行,0,1024);

如果($ this-& gt;狀態[" last result "]& lt;& gt" 3 ")返回false

if(fputs($ this-& gt;socket,$ buffer)& lt;0){

返回false

}

如果($ this-& gt;附件==空){

if(fputs($ this-& gt;socket," mime-version:1.0 rn content-type:text/plain;charset = iso-8859-1rn content-transfer-encoding:7 bitrnrn ")& lt;0){

返回false

}

if(fputs($ this-& gt;套接字," $ this-& gt;body rnrn ")& lt;0){

返回false

}

if(fputs($ this-& gt;插座,”。rn”)& lt;0){

返回false

}

  • 上一篇:什麽是webservice,什麽情況下使用,如何使用?
  • 下一篇:十二星座日期陽歷
  • copyright 2024編程學習大全網