summaryrefslogtreecommitdiff
path: root/docs/index.rst
blob: d8634eaed43a232088f3716542d9f10064385547 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
.. leap.mail documentation master file, created by
   sphinx-quickstart on Mon Aug 25 19:19:48 2014.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.

Welcome to leap.mail's documentation!
=====================================

This is the documentation for the ``leap.mail`` module. It is a twisted package
that exposes two services, ``smtp`` and ``imap``, that run local proxies and interact
with a remote ``LEAP`` provider that offers *a soledad syncronization endpoint*
and receive the outgoing email.

See :ref:`the life cycle of a leap email <mail_journey>` for an overview of the life cycle
of an email through ``LEAP`` providers.

``Soledad`` stores its documents as local ``sqlcipher`` tables, and syncs
against the soledad sync service in the provider.


.. TODO clear document types documentation.

The data model at the present moment consists of several *document types* that split email into
different documents that are stored in ``Soledad``. The idea behind this is to
keep clear the separation between *mutable* and *inmutable* parts, and still being able to
reconstruct arbitrarily nested email structures easily.

In the coming releases we are going to be working towards the goal of exposing
a protocol-agnostic email public API, so that third party mail clients can
manipulate the data layer without having to resort to handling the sql tables or
doing direct u1db calls. The code will be transitioning towards a LEAPMail
public API that we can stabilize as soon as possible, and leaving the IMAP
server as another code entity that uses this lower layer.


..
.. Contents:
.. toctree::
   :maxdepth: 2

..   intro
..   tutorial


API documentation
-----------------

If you were looking for the documentation of the ``leap.mail`` module, you will
find it here. Beware that the public API will still be unstable for the next
development cycles.

.. toctree::
   :maxdepth: 2

   api/mail




Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`