📄 classppop3.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>PPOP3 class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.18 --><center><a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </center><hr><h1>PPOP3 Class Reference</h1><code>#include <<a class="el" href="inetmail_8h-source.html">inetmail.h</a>></code><p><p>Inheritance diagram for PPOP3:<p><center><img src="classPPOP3.png" usemap="#PPOP3_map" border="0" alt=""></center><map name="PPOP3_map"><area href="classPInternetProtocol.html" alt="PInternetProtocol" shape="rect" coords="59,168,168,192"><area href="classPIndirectChannel.html" alt="PIndirectChannel" shape="rect" coords="59,112,168,136"><area href="classPChannel.html" alt="PChannel" shape="rect" coords="59,56,168,80"><area href="classPObject.html" alt="PObject" shape="rect" coords="59,0,168,24"><area href="classPPOP3Client.html" alt="PPOP3Client" shape="rect" coords="0,280,109,304"><area href="classPPOP3Server.html" alt="PPOP3Server" shape="rect" coords="119,280,228,304"></map><a href="classPPOP3-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>Public Types</h2></td></tr><tr><td nowrap align=right valign=top>enum </td><td valign=bottom><a class="el" href="classPPOP3.html#s14">Commands</a> { <br> <a class="el" href="classPPOP3.html#s14s0">USER</a>, <a class="el" href="classPPOP3.html#s14s1">PASS</a>, <a class="el" href="classPPOP3.html#s14s2">QUIT</a>, <a class="el" href="classPPOP3.html#s14s3">RSET</a>, <br> <a class="el" href="classPPOP3.html#s14s4">NOOP</a>, <a class="el" href="classPPOP3.html#s14s5">STATcmd</a>, <a class="el" href="classPPOP3.html#s14s6">LIST</a>, <a class="el" href="classPPOP3.html#s14s7">RETR</a>, <br> <a class="el" href="classPPOP3.html#s14s8">DELE</a>, <a class="el" href="classPPOP3.html#s14s9">APOP</a>, <a class="el" href="classPPOP3.html#s14s10">TOP</a>, <a class="el" href="classPPOP3.html#s14s11">UIDL</a>, <br> <a class="el" href="classPPOP3.html#s14s12">AUTH</a>, <a class="el" href="classPPOP3.html#s14s13">NumCommands</a><br> }</td></tr><tr><td colspan=2><br><h2>Protected Methods</h2></td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPPOP3.html#b0">PPOP3</a> ()</td></tr><tr><td nowrap align=right valign=top>virtual PINDEX </td><td valign=bottom><a class="el" href="classPPOP3.html#b1">ParseResponse</a> (const <a class="el" href="classPString.html">PString</a> &line)</td></tr><tr><td colspan=2><br><h2>Static Protected Attributes</h2></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPPOP3.html#q0">okResponse</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPPOP3.html#q1">errResponse</a></td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2>A TCP/IP socket for the Post Office Protocol version 3.<p>When acting as a client, the procedure is to make the connection to a remote server, then to retrieve a message using the following procedure: <pre><code> <a class="el" href="classPPOP3Client.html">PPOP3Client</a> mail("popserver"); if (mail.IsOpen()) { if (mail.LogIn("Me", "password")) { if (mail.GetMessageCount() > 0) { <a class="el" href="classPUnsignedArray.html">PUnsignedArray</a> sizes = mail.GetMessageSizes(); for (PINDEX i = 0; i < sizes.GetSize(); i++) { if (mail.BeginMessage(i+1)) mail.Read(myMessage, sizes[i]); else PError << "Error getting mail message." << endl; } } else PError << "No mail messages." << endl; } else PError << "Mail log in failed." << endl; } else PError << "Mail conection failed." << endl; </pre></code><p>When acting as a server, a descendant class would be created to override at least the <A>HandleOpenMailbox(), <A>HandleSendMessage() and <A>HandleDeleteMessage() functions. Other functions may be overridden for further enhancement to the sockets capabilities, but these will give a basic POP3 server functionality.<p>The server socket thread would continuously call the <A>ProcessMessage() function until it returns FALSE. This will then call the appropriate virtual function on parsing the POP3 protocol. <p><hr><h2>Member Enumeration Documentation</h2><a name="s14" doxytag="PPOP3::Commands"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> enum PPOP3::Commands </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p><dl compact><dt><b>Enumeration values: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em><a name="s14s0" doxytag="USER"></a><em>USER</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s14s1" doxytag="PASS"></a><em>PASS</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s14s2" doxytag="QUIT"></a><em>QUIT</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s14s3" doxytag="RSET"></a><em>RSET</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s14s4" doxytag="NOOP"></a><em>NOOP</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s14s5" doxytag="STATcmd"></a><em>STATcmd</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s14s6" doxytag="LIST"></a><em>LIST</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s14s7" doxytag="RETR"></a><em>RETR</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s14s8" doxytag="DELE"></a><em>DELE</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s14s9" doxytag="APOP"></a><em>APOP</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s14s10" doxytag="TOP"></a><em>TOP</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s14s11" doxytag="UIDL"></a><em>UIDL</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s14s12" doxytag="AUTH"></a><em>AUTH</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s14s13" doxytag="NumCommands"></a><em>NumCommands</em></em> </td><td></td></tr></table></dl> </td> </tr></table><hr><h2>Constructor & Destructor Documentation</h2><a name="b0" doxytag="PPOP3::PPOP3"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> PPOP3::PPOP3 </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [protected]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><hr><h2>Member Function Documentation</h2><a name="b1" doxytag="PPOP3::ParseResponse"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual PINDEX PPOP3::ParseResponse </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="classPString.html">PString</a> & </td> <td class="mdname1" valign="top" nowrap> <em>line</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [protected, virtual]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Parse a response line string into a response code and any extra info on the line. Results are placed into the member variables <code>lastResponseCode</code> and <code>lastResponseInfo</code>.<p>The default bahaviour looks for a space or a '-' and splits the code and info either side of that character, then returns FALSE.<p><dl compact><dt><b>Returns: </b></dt><dd> Position of continuation character in response, 0 if no continuation lines are possible. </dl><p>Reimplemented from <a class="el" href="classPInternetProtocol.html#b1">PInternetProtocol</a>. </td> </tr></table><hr><h2>Member Data Documentation</h2><a name="q1" doxytag="PPOP3::errResponse"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="classPString.html">PString</a> PPOP3::errResponse<code> [static, protected]</code> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><a name="q0" doxytag="PPOP3::okResponse"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="classPString.html">PString</a> PPOP3::okResponse<code> [static, protected]</code> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><hr>The documentation for this class was generated from the following file:<ul><li><a class="el" href="inetmail_8h-source.html">inetmail.h</a></ul><hr><address style="align: right;"><small>Generated on Wed Sep 29 22:44:18 2004 for PWLib by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.18 </small></address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -