You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by Raphael OUAZANA <ra...@linagora.com> on 2018/06/19 08:14:35 UTC

Import / export of a mailbox

Hi,

A feature that is missing in James is the ability to export a complete 
mailbox of a user.

We are going to implement it, using ZIP as an archive format with some 
specific metadatas such as flags, uids.
Once the archive is generated, we had to find a way to warn the admin 
(or the user) about the ability to download this archive. So we 
conceived the following workflow
- An administrator generate an archive through the web admin API[1]. The 
result of this operation is a task.
- This tasks generate a ZIP from the mailboxes and messages of the user, 
and store it so that it can be downloaded.
- Once the task is finished, a mail is sent to the administrator (or the 
user) to tell him the archive is ready to download
At the start and at the end of this process, an event will be fired to 
make this process easily customizable.

This brings some security concerns, as the archive will contain 
sensitive information, and so share its direct link by mail does not 
seem a very good idea (and we don't handle user authentication on 
webadmin for now).

So we chose to store the archive on an external service. For this first 
implementation we chose LinShare[2], which is a FOSS software 
specialized in file sharing.
Of course we'll welcome any contribution to an other implementation, and 
we'll probably develop some other ourselves.

As you can expect we'll also implement restore to restore an archive to 
an (empty) mailbox. Here the process is simpler:
- An administrator uploads an archive on a specific endpoint (parameter: 
mailbox)
- If the mailbox is empty, the archive is restored.

The mailbox could be full in a future, allowing some partial 
restoration.

Any thoughts / comments?

Regards,
Raphaƫl Ouazana.

[1] https://james.apache.org/server/manage-webadmin.html
[2] http://www.linshare.org/en/

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org