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

1 Overview

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

A usual mail sending scheme looks as follows: the user composes his message using mail user agent (MUA for short). Once the message is composed, the user sends it. While sending, the MUA 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, 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. For example, the user might wish to sign outgoing messages with his PGP key, because his MUA does not support this operation.

In such cases, installing GNU Anubis between the MUA and MTA allows the user to perform 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, administrators can define new ones 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 two configuration files: a system-wide one that affects functionality of the system as a whole, and user configuration files, which modify Anubis behaviour on a per-user basis.


[ << ] [ < ] [ Up ] [ > ] [ >> ]

This document was generated on January 6, 2024 using texi2html 5.0.