POP3 MTM Overview

This section provides an overview of the Post Office Protocol (POP3) MTM component.

Purpose

Allows Internet email to be retrieved using the POP3 protocol.

Architectural relationships

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.

Description

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).

Related reference
Email Settings