source: mailjam/docs/src/overview.rst

Last change on this file was 27:b1d527287347, checked in by Borja Lopez <borja@…>, 12 years ago

Added more information to the README file

Updated the architecture scheme so it fits the renaming of the project
to mailjam

Fixed the search path for configuration files. Now it searches on /etc
first, /usr/local/etc then.

Added more docs regarding the installation, configuration and running
of each component

File size: 2.2 KB

Overview of mailjam's architecture


Mailjam 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 Mailjam

This architecture works for small setups (everything running on a single server) but it works for bigger/larger installations with up to N mail servers, running each server its own :ref:`overview_mailjam_mta_client` (or multiple instances of it) to connect to N :ref:`overview_mailjam_daemon` servers (managed locally or remotely using up to N :ref:`overview_mailjam_cli_client` or :ref:`overview_mailjam_web_client` instances).

.. seealso::

   :doc:`The examples documentation <examples>` contains some useful examples
   about different kinds of setups.

Mailjam 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 Mailjam 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_mailjam_cli_client>`.

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