source:
mailjam/docs/src/overview.rst
Last change on this file was 27:b1d527287347, checked in by , 12 years ago | |
---|---|
File size: 2.2 KB |
Overview of mailjam's architecture
Introduction
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:
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>`.