diff --git a/docs/interoperability/dimail.md b/docs/interoperability/dimail.md index e3e2d8b7..a2828434 100644 --- a/docs/interoperability/dimail.md +++ b/docs/interoperability/dimail.md @@ -2,15 +2,13 @@ ## What is dimail ? -The mailing solution provided in La Suite is [La Messagerie](https://webmail.numerique.gouv.fr/), using [Open-XChange](https://www.open-xchange.com/) (OX). OX not having a provisioning API, 'dimail-api' or 'dimail' was created to allow mail-provisioning through People. +The mailing solution provided in LaSuite is [Messagerie](https://webmail.numerique.gouv.fr/), using [Open-XChange](https://www.open-xchange.com/) (OX). OX currently does not provide a provisioning API, hence 'dimail', meant as an interface between Messagerie and outside parties such as People. Dimail-api and its documentation can be found [here](https://api.osprod.dimail1.numerique.gouv.fr/docs#/). ## Features -### Domains - -#### Domain creation +### Domain creation Upon creating a domain on People, the same domain is created on Messagerie and will undergo a series of checks. The DNS configuration provided by Messagerie can be found in domain administration menu. @@ -22,13 +20,12 @@ Domains configuration is checked every hour. When Messagerie's checks return suc > Contexts are only implemented in Messagerie and are not currently in use in People. Domains created via People are in their own context. Please contact our support team if you want several domains to be moved to a single context. -### Mailboxes +### Mailbox management -Mailboxes can be created by a domain owners or administrators in People's domain tab. +Mailboxes can be created by a domain owners or administrators in People's domain tab and are created on dimail too. +A confirmation email is sent to secondary email if provided, containing a one-time login link. -On enabled domains, mailboxes are created at the same time on dimail (and a confirmation email is sent to the secondary email). -On pending/failed domains, mailboxes are only created locally with "pending" status and are sent to dimail upon domain's (re)activation. -On disabled domains, mailboxes creation is not allowed. +Mailboxes can be deactivated ## Permissions @@ -40,49 +37,12 @@ Users can have 3 levels of permissions on a domain | Administrators | - create mailboxes
- invite users to manage domain
- promote viewers to administrators
- all viewers permissions | - deactivate mailbox
- send login link
- update information | | Viewers | - see the domain's information
- list its mailboxes
| - update information on own mailbox
- send login link | | No role | Cannot see domain. Requests return a 404_NOT_FOUND | - none | -| Not authenticated | Cannot see domain. Requests return a 401_NOT_AUTHENTICATED
| - none | +| Not authenticated | Cannot see domain. Requests return a 401_NOT_AUTHENTICATED
| - none | | ## For devs ## Use of dimail container -To ease local development, dimail provides a container that we embark in our docker-compose. In "FAKE" mode, it simulates all responses from Open Exchange. +To ease local development, dimail provides a container that we embark on our docker stack. In "FAKE" mode, dimail container simulates all responses from Open Exchange, providing an environment close to production. -Bootstraping with command `make bootstrap` creates a container and initializes its database. - -Additional commands : -- Reset and populate the database with all the content of your People database with `dimail-setup-db` - -## Architecture - -### Domains - -Upon creating a domain on People, the same domain is created on dimail and will undergo a series of checks. When all checks have passed, the domain is considered enabled. - -Domains in OX have a field called "context". "Contexts" are shared spaces between domains, allowing users to discover users not only on their domain but on their entire context. -> [!NOTE] -> Contexts are only implemented in La Messagerie and are not currently in use in People. Domains created via People are in their own context. - -People users can have 3 levels of permissions on a domain: -- Viewers can - - see the domain's information - - list its mailboxes and managers -- Administrators can - - create mailboxes - - invite collaborators to manage domain - - change role of a viewer to administrators - - all of viewers permissions -- Owners can - - promote administrators owners and demote owners - - all of viewers and administrators' permissions -> [!NOTE] -> Contexts are only implemented in La Messagerie and are not currently in use in People. Domains created via People are in their own context. - - -### Mailboxes - -Mailboxes can be created by a domain owners or administrators in People's domain tab. - -On enabled domains, mailboxes are created at the same time on dimail (and a confirmation email is sent to the secondary email). -On pending/failed domains, mailboxes are only created locally with "pending" status and are sent to dimail upon domain's (re)activation. -On disabled domains, mailboxes creation is not allowed. +Bootstraping with command `make dimail-setup-db` creates the container and populates its database from People's database.