source: mailjam/docs/src/overview.rst@ 13:f1f11159dbed

Last change on this file since 13:f1f11159dbed was 13:f1f11159dbed, checked in by Borja Lopez <borja@…>, 10 years ago

Added first version of the project documentation. Inside docs/src there is
the sphinx [1] project we use to manage the docs. Inside docs/html there is
a copy of the docs in html format.

Fixed some typos in the INSTALL file

Added two new parameters to the postman.conf file (both the example config
file inside conf/ and the one used for testing in postman/tests/). These
parameters do nothing yet (they are related to ssl stuff) but we do talk
about them in the docs.

Added a new method to the XMLRPC list of methods related to members.


File size: 1.7 KB

Overview of postman's architecture


Postman has been designed following a multi-component structure. There is a daemon that manage the mailing lists and members information in a storage backend and there are different kinds of clients (currently, three of them) that interact with the daemon using a XMLRPC link.

This is the scheme of the architecture:

Scheme of the architecture behind Postman

Postman daemon

The daemon will perform all the operations regarding the management of the mailing lists and members. The daemon will save information of a given mailing list to the storage backend, and will read information of already saved lists from there too.

It listens for incoming XMLRPC requests on a given tcp port, allowing clients to add/update/delete data from the backend.

MTA client

This client is attached to a given MTA, and is called but the MTA itself when emails for a mailing lists are received. The client performs some checks on the backend to tell the MTA what it has to do with the incoming emails.

CLI client

This is a shell-like interface that can be used to add mailing lists to a given Postman server, edit such mailing lists information, add members, etc.

Web client

This is a small webapp that can be used to perform the same management operations you can achieve using the :ref:`CLI client<overview_postman_cli_client>`.

Note: See TracBrowser for help on using the repository browser.