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 Member Functions

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

Static Protected Attributes

static PString okResponse
static 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 HandleOpenMailbox(), HandleSendMessage() and
    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
    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

Enumerator:
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.
Parameters:
line  Input response line to be parsed

Reimplemented from PInternetProtocol.


Member Data Documentation

PString PPOP3::okResponse [static, protected]

PString PPOP3::errResponse [static, protected]


The documentation for this class was generated from the following file:
Generated on Fri Mar 7 06:25:06 2008 for PTLib by  doxygen 1.5.1