📄 pop3_protocol_class_wrapper.shtml.htm
字号:
<BR><FONT COLOR="#990000">}</FONT><FONT COLOR="#990000"></FONT>
<P><FONT COLOR="#990000">BOOL CPop::Statistics()</FONT>
<BR><FONT COLOR="#990000">{</FONT>
<BR><FONT COLOR="#990000"> char buf [512];</FONT><FONT COLOR="#990000"></FONT>
<P><FONT COLOR="#990000"> wsprintf (buf, "STAT \r\n");</FONT>
<BR><FONT COLOR="#990000"> m_PopServer.Send(buf, strlen (buf));</FONT>
<BR><FONT COLOR="#990000"> if (CheckResponse(STAT_CHECK)==FALSE)</FONT>
<BR><FONT COLOR="#990000"> return FALSE;</FONT>
<BR><FONT COLOR="#990000"> else</FONT>
<BR><FONT COLOR="#990000"> return TRUE;</FONT>
<BR><FONT COLOR="#990000">}</FONT><FONT COLOR="#990000"></FONT>
<P><FONT COLOR="#990000">CString CPop::GetMsgContents()</FONT>
<BR><FONT COLOR="#990000">{</FONT>
<BR><FONT COLOR="#990000"> return m_MsgContents;</FONT>
<BR><FONT COLOR="#990000">}</FONT><FONT COLOR="#990000"></FONT>
<P><FONT COLOR="#990000">int CPop::GetNumberOfMails()</FONT>
<BR><FONT COLOR="#990000">{</FONT>
<BR><FONT COLOR="#990000"> return m_NumberMail;</FONT>
<BR><FONT COLOR="#990000">}</FONT><FONT COLOR="#990000"></FONT>
<P><FONT COLOR="#990000">int CPop::GetTotalMailSize()</FONT>
<BR><FONT COLOR="#990000">{</FONT>
<BR><FONT COLOR="#990000"> return m_TotalSize;</FONT>
<BR><FONT COLOR="#990000">}</FONT><FONT COLOR="#990000"></FONT>
<P><FONT COLOR="#990000">BOOL CPop::Connect()</FONT>
<BR><FONT COLOR="#990000">{</FONT>
<BR><FONT COLOR="#990000"> Connect(m_Host, m_User, m_Password);</FONT>
<BR><FONT COLOR="#990000"> return TRUE;</FONT>
<BR><FONT COLOR="#990000">}</FONT><FONT COLOR="#990000"></FONT>
<P><FONT COLOR="#990000">void CPop::SetHost(CString & Host)</FONT>
<BR><FONT COLOR="#990000">{</FONT>
<BR><FONT COLOR="#990000"> m_Host = Host;</FONT>
<BR><FONT COLOR="#990000">}</FONT><FONT COLOR="#990000"></FONT>
<P><FONT COLOR="#990000">CString CPop::GetHost()</FONT>
<BR><FONT COLOR="#990000">{</FONT>
<BR><FONT COLOR="#990000"> return m_Host;</FONT>
<BR><FONT COLOR="#990000">}</FONT><FONT COLOR="#990000"></FONT>
<P><FONT COLOR="#990000">void CPop::SetUser(CString & User)</FONT>
<BR><FONT COLOR="#990000">{</FONT>
<BR><FONT COLOR="#990000"> m_User = User;</FONT>
<BR><FONT COLOR="#990000">}</FONT><FONT COLOR="#990000"></FONT>
<P><FONT COLOR="#990000">CString CPop::GetUser()</FONT>
<BR><FONT COLOR="#990000">{</FONT>
<BR><FONT COLOR="#990000"> return m_User;</FONT>
<BR><FONT COLOR="#990000">}</FONT><FONT COLOR="#990000"></FONT>
<P><FONT COLOR="#990000">void CPop::SetPassword(CString & Password)</FONT>
<BR><FONT COLOR="#990000">{</FONT>
<BR><FONT COLOR="#990000"> m_Password = Password;</FONT>
<BR><FONT COLOR="#990000">}</FONT><FONT COLOR="#990000"></FONT>
<P><FONT COLOR="#990000">CString CPop::GetPassword()</FONT>
<BR><FONT COLOR="#990000">{</FONT>
<BR><FONT COLOR="#990000"> return m_Password;</FONT>
<BR><FONT COLOR="#990000">}</FONT><FONT COLOR="#990000"></FONT>
<P><FONT COLOR="#990000">BOOL CPop::CheckResponse(int ResponseType)</FONT>
<BR><FONT COLOR="#990000">{</FONT>
<BR><FONT COLOR="#990000"> char buf [1000];</FONT><FONT COLOR="#990000"></FONT>
<P><FONT COLOR="#990000"> for (int i=0;i<512;i++)</FONT>
<BR><FONT COLOR="#990000"> buf[i]='\0';</FONT><FONT COLOR="#990000"></FONT>
<P><FONT COLOR="#990000"> m_PopServer.Receive(buf, sizeof(buf));</FONT><FONT COLOR="#990000"></FONT>
<P><FONT COLOR="#990000"> switch (ResponseType)</FONT>
<BR><FONT COLOR="#990000"> {</FONT>
<BR><FONT COLOR="#990000"> case CONNECTION_CHECK:</FONT>
<BR><FONT COLOR="#990000"> if (strnicmp(buf,"-ERR", 4) == 0)</FONT>
<BR><FONT COLOR="#990000"> {</FONT>
<BR><FONT COLOR="#990000"> m_ErrorMessage = _T("Bad Connection");</FONT>
<BR><FONT COLOR="#990000"> return FALSE;</FONT>
<BR><FONT COLOR="#990000"> }</FONT>
<BR><FONT COLOR="#990000"> break;</FONT><FONT COLOR="#990000"></FONT>
<P><FONT COLOR="#990000"> case USER_CHECK:</FONT>
<BR><FONT COLOR="#990000"> if (strnicmp(buf,"-ERR", 4) == 0)</FONT>
<BR><FONT COLOR="#990000"> {</FONT>
<BR><FONT COLOR="#990000"> m_ErrorMessage = _T("Bad User
Name");</FONT>
<BR><FONT COLOR="#990000"> return FALSE;</FONT>
<BR><FONT COLOR="#990000"> }</FONT>
<BR><FONT COLOR="#990000"> break;</FONT>
<BR><FONT COLOR="#990000"> case PASSWORD_CHECK:</FONT>
<BR><FONT COLOR="#990000"> if (strnicmp(buf,"-ERR", 4) == 0)</FONT>
<BR><FONT COLOR="#990000"> {</FONT>
<BR><FONT COLOR="#990000"> m_ErrorMessage = _T("Bad Password
Name");</FONT>
<BR><FONT COLOR="#990000"> return FALSE;</FONT>
<BR><FONT COLOR="#990000"> }</FONT>
<BR><FONT COLOR="#990000"> break;</FONT>
<BR><FONT COLOR="#990000"> case QUIT_CHECK:</FONT>
<BR><FONT COLOR="#990000"> if (strnicmp(buf,"-ERR", 4) == 0)</FONT>
<BR><FONT COLOR="#990000"> {</FONT>
<BR><FONT COLOR="#990000"> m_ErrorMessage = _T("Error
occured during QUIT");</FONT>
<BR><FONT COLOR="#990000"> return FALSE;</FONT>
<BR><FONT COLOR="#990000"> }</FONT>
<BR><FONT COLOR="#990000"> break;</FONT>
<BR><FONT COLOR="#990000"> case DELETE_CHECK:</FONT>
<BR><FONT COLOR="#990000"> if (strnicmp(buf,"-ERR", 4) == 0)</FONT>
<BR><FONT COLOR="#990000"> {</FONT>
<BR><FONT COLOR="#990000"> m_ErrorMessage = _T("Error
occured during DELE");</FONT>
<BR><FONT COLOR="#990000"> return FALSE;</FONT>
<BR><FONT COLOR="#990000"> }</FONT>
<BR><FONT COLOR="#990000"> break;</FONT>
<BR><FONT COLOR="#990000"> case RSET_CHECK:</FONT>
<BR><FONT COLOR="#990000"> if (strnicmp(buf,"-ERR", 4) == 0)</FONT>
<BR><FONT COLOR="#990000"> {</FONT>
<BR><FONT COLOR="#990000"> m_ErrorMessage = _T("Error
occured during RSET");</FONT>
<BR><FONT COLOR="#990000"> return FALSE;</FONT>
<BR><FONT COLOR="#990000"> }</FONT>
<BR><FONT COLOR="#990000"> break;</FONT>
<BR><FONT COLOR="#990000"> case STAT_CHECK:</FONT>
<BR><FONT COLOR="#990000"> if (strnicmp(buf,"-ERR", 4) == 0)</FONT>
<BR><FONT COLOR="#990000"> {</FONT>
<BR><FONT COLOR="#990000"> m_ErrorMessage = _T("Error
occured during STAT");</FONT>
<BR><FONT COLOR="#990000"> return FALSE;</FONT>
<BR><FONT COLOR="#990000"> }</FONT>
<BR><FONT COLOR="#990000"> else</FONT>
<BR><FONT COLOR="#990000"> {</FONT>
<BR><FONT COLOR="#990000"> BOOL EmailNumber = TRUE;</FONT>
<BR><FONT COLOR="#990000"> for (char *p = buf; *p !=
'\0'; p++)</FONT>
<BR><FONT COLOR="#990000"> {</FONT>
<BR><FONT COLOR="#990000"> if (*p == '\t' || *p
== ' ')</FONT>
<BR><FONT COLOR="#990000"> {</FONT>
<BR><FONT COLOR="#990000"> if(EmailNumber
== TRUE)</FONT>
<BR><FONT COLOR="#990000"> {</FONT>
<BR><FONT COLOR="#990000"> m_NumberMail
= atoi(p);</FONT>
<BR><FONT COLOR="#990000"> EmailNumber
= FALSE;</FONT>
<BR><FONT COLOR="#990000"> }</FONT>
<BR><FONT COLOR="#990000"> else</FONT>
<BR><FONT COLOR="#990000"> {</FONT>
<BR><FONT COLOR="#990000"> m_TotalSize
= atoi(p);</FONT>
<BR><FONT COLOR="#990000"> return TRUE;</FONT>
<BR><FONT COLOR="#990000"> }</FONT>
<BR><FONT COLOR="#990000"> }</FONT>
<BR><FONT COLOR="#990000"> }</FONT><FONT COLOR="#990000"></FONT>
<P><FONT COLOR="#990000"> }</FONT>
<BR><FONT COLOR="#990000"> break;</FONT>
<BR><FONT COLOR="#990000"> case NOOP_CHECK:</FONT>
<BR><FONT COLOR="#990000"> if (strnicmp(buf,"-ERR", 4) == 0)</FONT>
<BR><FONT COLOR="#990000"> {</FONT>
<BR><FONT COLOR="#990000"> m_ErrorMessage = _T("Error
occured during NOOP");</FONT>
<BR><FONT COLOR="#990000"> return FALSE;</FONT>
<BR><FONT COLOR="#990000"> }</FONT>
<BR><FONT COLOR="#990000"> break;</FONT><FONT COLOR="#990000"></FONT>
<P><FONT COLOR="#990000"> case LIST_CHECK:</FONT>
<BR><FONT COLOR="#990000"> if (strnicmp(buf,"-ERR", 4) == 0)</FONT>
<BR><FONT COLOR="#990000"> {</FONT>
<BR><FONT COLOR="#990000"> m_ErrorMessage = _T("Error
occured during LIST");</FONT>
<BR><FONT COLOR="#990000"> return FALSE;</FONT>
<BR><FONT COLOR="#990000"> }</FONT>
<BR><FONT COLOR="#990000"> else</FONT>
<BR><FONT COLOR="#990000"> {</FONT>
<BR><FONT COLOR="#990000"> m_PopServer.Receive(buf, sizeof(buf));</FONT><FONT COLOR="#990000"></FONT>
<P><FONT COLOR="#990000"> for (char *p = buf; *p != '.';
p++)</FONT>
<BR><FONT COLOR="#990000"> if (*p == '\t' || *p
== ' ')</FONT>
<BR><FONT COLOR="#990000"> m_SizeOfMsg.Add(atoi(p));</FONT>
<BR><FONT COLOR="#990000"> }</FONT>
<BR><FONT COLOR="#990000"> break;</FONT>
<BR><FONT COLOR="#990000"> case RETR_CHECK:</FONT>
<BR><FONT COLOR="#990000"> if (strnicmp(buf,"-ERR", 4) == 0)</FONT>
<BR><FONT COLOR="#990000"> {</FONT>
<BR><FONT COLOR="#990000"> m_ErrorMessage = _T("Error
occured during RETR");</FONT>
<BR><FONT COLOR="#990000"> return FALSE;</FONT>
<BR><FONT COLOR="#990000"> }</FONT>
<BR><FONT COLOR="#990000"> else</FONT>
<BR><FONT COLOR="#990000"> {</FONT>
<BR><FONT COLOR="#990000"> char temp[9000];</FONT>
<BR><FONT COLOR="#990000"> m_PopServer.Receive(temp,
sizeof(temp));</FONT>
<BR><FONT COLOR="#990000"> m_MsgContents = temp;</FONT>
<BR><FONT COLOR="#990000"> }</FONT>
<BR><FONT COLOR="#990000"> break;</FONT>
<BR><FONT COLOR="#990000"> }</FONT>
<BR><FONT COLOR="#990000"> return TRUE;</FONT>
<BR><FONT COLOR="#990000">}</FONT><FONT COLOR="#990000"></FONT>
<P><FONT COLOR="#990000">CString CPop::GetErrorMessage()</FONT>
<BR><FONT COLOR="#990000">{</FONT>
<BR><FONT COLOR="#990000"> return m_ErrorMessage;</FONT>
<BR><FONT COLOR="#990000">}</FONT><FONT COLOR="#990000"></FONT>
<P><FONT COLOR="#990000">BOOL CPop::List()</FONT>
<BR><FONT COLOR="#990000">{</FONT>
<BR><FONT COLOR="#990000"> char buf [512];</FONT><FONT COLOR="#990000"></FONT>
<P><FONT COLOR="#990000"> wsprintf (buf, "LIST \r\n");</FONT>
<BR><FONT COLOR="#990000"> m_PopServer.Send(buf, strlen (buf));</FONT>
<BR><FONT COLOR="#990000"> if (CheckResponse(LIST_CHECK)==FALSE)</FONT>
<BR><FONT COLOR="#990000"> return FALSE;</FONT>
<BR><FONT COLOR="#990000"> else</FONT>
<BR><FONT COLOR="#990000"> return TRUE;</FONT>
<BR><FONT COLOR="#990000">}</FONT>
<BR><FONT COLOR="#990000"></FONT>
<BR><FONT COLOR="#990000"></FONT>
<BR><FONT COLOR="#990000"></FONT> <FONT COLOR="#990000"></FONT>
<P>
<HR>
<TABLE BORDER=0 WIDTH="100%" >
<TR>
<TD WIDTH="33%"><FONT SIZE=-1><A HREF="../index.htm" tppabs="http://www.codeguru.com/">Goto HomePage</A></FONT></TD>
<TD WIDTH="33%">
<CENTER><FONT SIZE=-2>© 1997 Zafir Anjum</FONT> </CENTER>
</TD>
<TD WIDTH="34%">
<DIV ALIGN=right><FONT SIZE=-1>Contact me: <A HREF="mailto:zafir@home.com">zafir@home.com</A> </FONT></DIV>
</TD>
</TR>
</TABLE>
<CENTER><IMG SRC="../cgi/Count.cgi-ft=2&dd=E-df=bmp_emboss.cnt" tppabs="http://www.codeguru.com/cgi/Count.cgi?ft=2&dd=E%7cdf=bmp_emboss.cnt" ALIGN="BOTTOM" BORDER="0"></CENTER>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -