[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1. Overview

GNU Anubis is an SMTP message submission daemon. Its purpose is to receive the outgoing message, perform some manipulations over its contents, and to forward the altered message to the mail transport agent.

The usual mail sending scheme looks as follows: a user composes his message using mail user agent (MUA for short). Once the message is composed, the user sends it. When the MUA receives the send command it connects to the mail transport agent (MTA for short) and passes it the message for delivery. The figure below illustrates this interaction:

 
+-------+                 +-------+               
|  MUA  | ---[outmsg]---> |  MTA  | ... [outmsg]
+-------+                 +-------+         |     
                                            |
                                            V
                                     +--------------+
                                     |  Recipient's |
                                     |   Mailbox    |  
                                     +--------------+
                                                        

As shown in this figure, the outgoing message (outmsg), reaches the recipient's mailbox unaltered.

However, there are situations where it may be necessary to modify the outgoing message before it reaches MTA. As the simplest example, the user might wish to sign outgoing messages with his PGP key, but his MUA does not support this operation or supports it unconditionally.

In such cases, installing GNU Anubis between the MUA and MTA allows the user to perform any additional processing on the sent message. The figure below illustrates this concept:

 
+-------+                 +--------+                 +-------+               
|  MUA  | ---[outmsg]---> | Anubis | ---[modmsg]---> |  MTA  | 
+-------+                 +--------+                 +-------+     
                                                         |
                                                      [modmsg]
                                                         .
                                                         .
                                                         V
                                                  +--------------+
                                                  |  Recipient's |
                                                  |   Mailbox    |  
                                                  +--------------+

The outgoing message is modified by GNU Anubis, and it is the resulting message (modmsg) that reaches the MTA.

GNU Anubis is able to perform a wide set of operations on messages, such as modifying headers or body, encrypting or signing messages with GPG (GNU Privacy Guard) keys, installing secure tunnels to MTA using TLS/SSL encryption, tunneling messages through SOCKS proxies, etc.

When the set of built-in operations is not enough, the user can define his own operations using Guile, a GNU's Ubiquitous Intelligent Language for Extensions.

Apart from configurable operations, GNU Anubis always performs SMTP session normalization, a process that ensures that the SMTP stream coming out of Anubis complies with the RFC 2821, even if the incoming stream does not. In particular, Anubis removes any extra whitespace appearing between ‘MAIL FROM:’ or ‘SMTP TO’ command and its argument.

Message processing is controlled by system-wide and per-user configuration files written in a flexible and easy to use command scripting language, specially designed for this purpose.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated by Sergey Poznyakoff on December, 20 2008 using texi2html 1.78.