This section provides an overview of the Post Office Protocol (POP3) MTM component.
Allows Internet email to be retrieved using the POP3 protocol.
The Messaging Middleware architecture defines a framework in which modules (MTMs) can be implemented that provide support for particular messaging protocols. A client MTM provides the API for application engines to use the protocol. The POP3 MTM API provides the client MTM API, plus supporting classes for POP3, see Email Overview.
The API has four key concepts: POP3 Client MTM, get mail helper, POP3 email settings, and email message entry information.
POP3 Client MTM
The POP3 Client MTM provides MTM-specific operations for connection and mail retrieval. Some generic messaging operations, such as creating and sending messages, are not appropriate for POP3, and are not supported by the MTM.
The POP3 Client
MTM class is CPop3ClientMtm
. Most of the functions
in this class are implementations of the virtual functions defined
by the CBaseMtm base class. The POP3-specific operations
are defined in TPop3Cmds.
Reply to and forward messages
These are accessible through the ReplyL() and ForwardL() classes of a Client MTM and are implemented as calls to the email utilities CImEmailOperation class.
Reply to, forward, create new, create receipt and forward as attachment
These are accessible as commands available through the InvokeAsyncFunction class of the Client MTM. They are implemented as calls to CImEmailOperation.
Connecting, disconnecting and copying email while connected
These operations are accessible as commands available through the InvokeAsyncFunction class of the Client MTM. They are implemented as calls to the POP3 Server MTM.
Querying connection status
These commands let clients know whether the POP3 Server MTM is connected to an email server and whether it is currently processing a request. They are available through the InvokeAsyncFunction class of the Client MTM. The Client MTM requests the information from the Server MTM.
Compound operation
The Client MTM provides functionality to wrap up connecting to email servers, copying or moving new messages or a selection of messages, and then optionally disconnecting. These commands are available through the InvokeAsyncFunction class of the Client MTM. The Client MTM implements this by using the CImPOP3GetMail class which requests the correct sequence of operations from the Server MTM, waiting for each operation to complete before requesting the next one.
Send on next connection
If the Client MTM gets a request to
connect to an email server it checks for the POP3 settings. If the
send on next connection option is set, the Client MTM launches the autosend.exe
executable, which handles sending messages
waiting in the outbox.
Offline operations
The POP3 Client MTM has a command to cancel offline operations. This is available through the InvokeAsyncFunction API of the Client MTM. The Client MTM passes the request to the Server MTM.
Get mail helper
This encapsulates all the operations required to connect and retrieve mail. Options are available for moving or copying mail, and for getting all mail or selected mail. The get mail helper is provided by CImPOP3GetMail.
POP3 email settings
The settings define email server and user log-on details. The settings are provided by the CImPop3Settings class.
Email message entry information
Protocol-specific data for a message is stored in fields in its index entry. A class TMsvEmailEntry is provided to read these fields for e-mail protocols (including POP3).