Overview of postman's architecture ================================== .. contents:: Introduction ------------ 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: .. image:: /postman_architecture.png :alt: Scheme of the architecture behind Postman :class: open_fancybox .. _overview_postman_daemon: 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. .. _overview_postman_mta_client: 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. .. _overview_postman_cli_client: 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. .. _overview_postman_web_client: 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`.