Description
The Inbox software is responsible to deliver the email service to users. That means:
- Having an email server that allows for sending and receiving emails. The objective is to be compatible with two mail servers: Apache James and Cyrus.
- Having a Web Frontend to handle emails
Also, Inbox provides services for other software of the suite:
- a mailto application, that the software can call through HTTP to provide an email composer window. This is coupled to a technical component, a mailto handler AngularJS directive, that handles the
<a href="mailto:john@acme.com" />links, and that other applications can use.
Inbox SPA
Logical architecture

This image can be opened and edited with Diagrams.net.
Inbox backend
ESN server
The ESN server connects to:
- a MongoDB server. It uses its own database, named “esn” database.
Fault tolerence: The connector supports deconnection and reconnection. This has been tested. The server starts even if the MongodB servers are not reachable. The connector support several nodes in the connection string.
- an ElasticSearch server
Fault tolerence: The connector supports deconnection and reconnection. This has been tested. The server starts even if the ElasticSearch servers are not reachable. The connector support several nodes in the connection string.
- a RabbitMQ server
Fault tolerence: The connector supports deconnection and reconnection. This has been tested. The server starts even if the RabbitMQ server are not reachable. RabbitMQ clusters are not supported.
- a Redis server
Fault tolerence: The connector supports deconnection and reconnection. This has been tested. The server starts even if the Redis server are not reachable. Redis Master/Slave setups are not supported.
Software Versions
Here is the list of versions for the main solution. Every minor version should be described here. Basically, make a copy-paste and edit what is necessary for every version.
Use links as follows: [Version M.m.x](vM.m.x.html)
And please, use this template for these pages.
