[16] | 1 | Overview of mailjam's architecture
|
---|
[13] | 2 | ==================================
|
---|
| 3 |
|
---|
| 4 | .. contents::
|
---|
| 5 |
|
---|
| 6 | Introduction
|
---|
| 7 | ------------
|
---|
| 8 |
|
---|
[16] | 9 | Mailjam has been designed following a **multi-component structure**. There is
|
---|
[13] | 10 | **a daemon** that manage the mailing lists and members information in a storage
|
---|
| 11 | backend and there are **different kinds of clients** (currently, three of them)
|
---|
| 12 | that **interact with the daemon using a XMLRPC link**.
|
---|
| 13 |
|
---|
| 14 | This is the scheme of the architecture:
|
---|
| 15 |
|
---|
[16] | 16 | .. image:: /mailjam_architecture.png
|
---|
| 17 | :alt: Scheme of the architecture behind Mailjam
|
---|
[13] | 18 | :class: open_fancybox
|
---|
| 19 |
|
---|
| 20 |
|
---|
[16] | 21 | .. _overview_mailjam_daemon:
|
---|
[13] | 22 |
|
---|
[16] | 23 | Mailjam daemon
|
---|
[13] | 24 | --------------
|
---|
| 25 |
|
---|
| 26 | The daemon will perform all the operations regarding the management of the
|
---|
| 27 | mailing lists and members. The daemon will save information of a given
|
---|
| 28 | mailing list to the storage backend, and will read information of already
|
---|
| 29 | saved lists from there too.
|
---|
| 30 |
|
---|
| 31 | It listens for incoming XMLRPC requests on a given tcp port, allowing clients
|
---|
| 32 | to add/update/delete data from the backend.
|
---|
| 33 |
|
---|
[16] | 34 | .. _overview_mailjam_mta_client:
|
---|
[13] | 35 |
|
---|
| 36 | MTA client
|
---|
| 37 | ----------
|
---|
| 38 |
|
---|
| 39 | This client is attached to a given MTA, and is called but the MTA itself when
|
---|
| 40 | emails for a mailing lists are received. The client performs some checks on the
|
---|
| 41 | backend to tell the MTA what it has to do with the incoming emails.
|
---|
| 42 |
|
---|
[16] | 43 | .. _overview_mailjam_cli_client:
|
---|
[13] | 44 |
|
---|
| 45 | CLI client
|
---|
| 46 | ----------
|
---|
| 47 |
|
---|
| 48 | This is a shell-like interface that can be used to add mailing lists to a given
|
---|
[16] | 49 | Mailjam server, edit such mailing lists information, add members, etc.
|
---|
[13] | 50 |
|
---|
[16] | 51 | .. _overview_mailjam_web_client:
|
---|
[13] | 52 |
|
---|
| 53 | Web client
|
---|
| 54 | ----------
|
---|
| 55 |
|
---|
| 56 | This is a small *webapp* that can be used to perform the same management
|
---|
| 57 | operations you can achieve using the
|
---|
[16] | 58 | :ref:`CLI client<overview_mailjam_cli_client>`.
|
---|