summaryrefslogtreecommitdiff
path: root/src/leap/mail/smtp/README.rst
blob: f625441920cfa8f5ad94fe46ec4397e8580f9b7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Leap SMTP Gateway
=================

Outgoing mail workflow:

    * LEAP client runs a thin SMTP proxy on the user's device, bound to
      localhost.
    * User's MUA is configured outgoing SMTP to localhost.
    * When SMTP proxy receives an email from MUA:
        * SMTP proxy queries Key Manager for the user's private key and public
          keys of all recipients.
        * Message is signed by sender and encrypted to recipients.
        * If recipient's key is missing, email goes out in cleartext (unless
          user has configured option to send only encrypted email).
        * Finally, message is gatewayed to provider's SMTP server.


Running tests
-------------

Tests are run using Twisted's Trial API, like this::

    python setup.py test -s leap.mail.gateway.tests