Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

PPOP3 Class Reference

#include <inetmail.h>

Inheritance diagram for PPOP3:

PInternetProtocol PIndirectChannel PChannel PObject PPOP3Client PPOP3Server List of all members.

Public Types

enum  Commands {
  USER, PASS, QUIT, RSET,
  NOOP, STATcmd, LIST, RETR,
  DELE, APOP, TOP, UIDL,
  AUTH, NumCommands
}

Protected Methods

 PPOP3 ()
virtual PINDEX ParseResponse (const PString &line)

Static Protected Attributes

PString okResponse
PString errResponse

Detailed Description

A TCP/IP socket for the Post Office Protocol version 3.

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:


      PPOP3Client mail("popserver");
      if (mail.IsOpen()) {
        if (mail.LogIn("Me", "password")) {
          if (mail.GetMessageCount() > 0) {
            PUnsignedArray 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;
      

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.

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.


Member Enumeration Documentation

enum PPOP3::Commands
 

Enumeration values:
USER 
PASS 
QUIT 
RSET 
NOOP 
STATcmd 
LIST 
RETR 
DELE 
APOP 
TOP 
UIDL 
AUTH 
NumCommands 


Constructor & Destructor Documentation

PPOP3::PPOP3   [protected]
 


Member Function Documentation

virtual PINDEX PPOP3::ParseResponse const PString   line [protected, virtual]
 

Parse a response line string into a response code and any extra info on the line. Results are placed into the member variables lastResponseCode and lastResponseInfo.

The default bahaviour looks for a space or a '-' and splits the code and info either side of that character, then returns FALSE.

Returns:
Position of continuation character in response, 0 if no continuation lines are possible.

Reimplemented from PInternetProtocol.


Member Data Documentation

PString PPOP3::errResponse [static, protected]
 

PString PPOP3::okResponse [static, protected]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 2 11:03:54 2004 for PWLib by doxygen1.2.18