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:

Scheme of the architecture behind Mailjam

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 CLI client.

Table Of Contents

Previous topic

Mailjam official documentation

Next topic

Installation instructions

This Page