Home

MessageServer Daemon

Introduction

The MessageServer application provides message transport services to Messaging Framework client applications. It can send and retrieve messages of various types, to and from external message service providers such as POP and IMAP servers, or local resources such as a SIM card. Protocol implementations are loaded from plugin libraries, so that the system can be extended with new services, without modification to the MessageServer application.

The MessageServer application is a daemon process; it is designed to be always running and available to client applications. If the MessageServer experiences a fault and restarts, clients do not need to re-establish communication with the server process.

Features

Messages provides the following features:

FeatureDescription
Send messagesSend messages via the transport mechanism defined for the associated account.
Retrieve folder and message listsReport the list of folders and messages available at the server for an account.
Retrieve messagesRetrieve the content of specified messages from the originating server, either partially or completely.
Search messagesSearch for messages via arbitrary criteria, performed at the originating server.
Manage messagesMove, copy and delete messages on the originating server.
Status reportingStatus and progress information is emitted during MessageServer operations, for the benefit of client applications.

Accounts

MessageServer supports the following aspects of messaging accounts:

FeatureDescription
Unrestricted accountsMessageServer supports any number of messaging accounts.
Messaging typesMessageServer supports accounts using the following messaging types:
  • SMS
  • MMS
  • Email
  • Instant Messaging servics
Email protocolsThe following email protocols are available:
  • POP
  • SMTP
  • IMAP

Other protocols can be supported by providing implementations as plugins.

Instant Messaging protocolsThe following Instant Messaging protocols are available:
  • XMPP (Jabber)

Other protocols can be supported by providing implementations as plugins.

Interface

MessageServer communicates with clients via QCop. The only supported method of passing messages over this channel is for each client to instantiate an object of the QMailMessageServer class, which converts between IPC messages and local signals and slots.

Some actions of the MessageServer process affect the Messaging Framework data store directly. A client can respond to these actions by connecting to the relevant signals of the QMailStore class, such as QMailStore::messagesAdded(), and QMailStore::messagesRemoved().

Dependencies

MessageServer has the following dependencies:

Logging

MessageServer supports runtime-enabled logging. The logging levels in use can be changed by updating the configuration file and sending a HUP signal to the messageserver process.

The config file for logging is located at ~/.config/Nokia/QMF.conf. The logging configuration is in the [Logging] section. qmaillog.h defines the categories that can be used.

An example config file follows:

    [Logging]
    Messaging=0
    IMAP=0
    SMTP=0
    POP=0

To inform the messageserver process that the logging levels have been changed you must send it a HUP signal.

    killall -HUP messageserver

Note that the default for a runtime-enabled logging category in release builds is off and in debug builds it is on. If a category is defined in the config file that definition will take precedence over the default.


Copyright © 2010 QtSoftware
Messaging Framework