1 | Overview of mailjam's architecture
|
---|
2 | ==================================
|
---|
3 |
|
---|
4 | .. contents::
|
---|
5 |
|
---|
6 | Introduction
|
---|
7 | ------------
|
---|
8 |
|
---|
9 | Mailjam has been designed following a **multi-component structure**. There is
|
---|
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 | .. image:: /mailjam_architecture.png
|
---|
17 | :alt: Scheme of the architecture behind Mailjam
|
---|
18 | :class: open_fancybox
|
---|
19 |
|
---|
20 |
|
---|
21 | .. _overview_mailjam_daemon:
|
---|
22 |
|
---|
23 | Mailjam daemon
|
---|
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 |
|
---|
34 | .. _overview_mailjam_mta_client:
|
---|
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 |
|
---|
43 | .. _overview_mailjam_cli_client:
|
---|
44 |
|
---|
45 | CLI client
|
---|
46 | ----------
|
---|
47 |
|
---|
48 | This is a shell-like interface that can be used to add mailing lists to a given
|
---|
49 | Mailjam server, edit such mailing lists information, add members, etc.
|
---|
50 |
|
---|
51 | .. _overview_mailjam_web_client:
|
---|
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
|
---|
58 | :ref:`CLI client<overview_mailjam_cli_client>`.
|
---|