#include <inetmail.h>
Inheritance diagram for PPOP3:

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 |
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.
|
|
|
|
|
|
|
|
Parse a response line string into a response code and any extra info on the line. Results are placed into the member variables The default bahaviour looks for a space or a '-' and splits the code and info either side of that character, then returns FALSE.
Reimplemented from PInternetProtocol. |
|
|
|
|
|
|
1.2.18