Introduction ============ GNU Anubis is an SMTP message submission daemon. It represents an intermediate layer between mail user agent (MUA) and mail transport agent (MTA), receiving messages from the MUA, applying to them a set of predefined changes and finally inserting modified messages into an MTA routing network. The set of changes applied to a message is configurable on a system-wide and per-user basis. The built-in configuration language used for defining sets of changes allows for considerable flexibility and is easily extensible. --------* --------** ------*** | MUA | ---> | Anubis | ---> | MTA | --------- ---------- --------- * Mail User Agent (client) ** An SMTP message submission daemon. *** Mail Transport Agent (server) GNU Anubis is GNU software. See the home page at: http://www.gnu.org/software/anubis/ License: GNU Anubis is free software distributed under the terms of GNU General Public License version 3 or later. See the file COPYING for the copying conditions. SUPPORTED SOFTWARE ================== Recommended: * GSASL -- an implementation of the SASL framework (http://www.gnu.org/software/gsasl/). Anubis requires GSASL version 0.2.3 or newer. * A database, any from the following: - GDBM -- (http://www.gnu.org/software/gdbm/). - MySQL -- (http://www.mysql.com/). - PostgreSQL -- (http://www.postgresql.com/) * GnuTLS -- a Transport Layer Security Library (http://www.gnutls.org/) * Guile -- The GNU extension language (http://www.gnu.org/software/guile/). * GnuPG -- The GNU Privacy Guard (http://www.gnupg.org/) with GPGME -- GnuPG Made Easy (http://www.gnupg.org/gpgme.html). Optional: * The TCP/IP Identification Protocol (RFC 1413) server (any). * PCRE -- Perl-Compatible Regular Expression Library (http://www.pcre.org/). * PAM -- Pluggable Authentication Modules (http://www.kernel.org/pub/linux/libs/pam/). * libwrap (TCP wrappers) -- an access control library. INSTALLATION ============ $ ./configure $ make $ make check (optional) $ make install By default, GNU Anubis will be installed in `/usr/local/sbin/anubis', but this can be changed with the `--prefix' command, for instance: $ ./configure --prefix=/usr $ make $ make check (optional) $ make install For better control, use the options below: `--with-gsasl' to support SASL authentication. `--with-mysql' to support MySQL database. `--with-postgres' to support PostgreSQL database. `--with-pcre' to support Perl-compatible regular expressions. `--with-pam' to support Pluggable Authentication Modules. `--with-socks-proxy' to support SOCKS v4/5 proxy support. `--with-tcp-wrappers' to support libwrap (TCP wrappers). `--without-gnutls' to disable GnuTLS support. `--without-gpgme' to disable GNU Privacy Guard (GPGME) support. `--without-guile' to disable Guile support. `--with-unprivileged-user=USER' to set an unprivileged user (default is "nobody"). Next, write a proper init script for your system. See the examples in the `scripts' directory (part of the distribution). NOTE: Remember about activating GNU Anubis with `ntsysv' tool or similar, and configure its system configuration file (read the GNU Anubis Manual about this topic). CAUTION: It is now optional to install the TCP/IP IDENT protocol server (RFC 1413). It depends on whether you are going to use a "transparent" mode, or not. Please consult the documentation. Most modern GNU/Linux (or *BSD) distributions come with an IDENT server. If you don't have it, try `pidentd', available at: ftp://ftp.lysator.liu.se/pub/ident/servers/ Editing Configuration Files with GNU Emacs ========================================== The file elisp/anubis-mode.el provides the Emacs major mode for editing Anubis configuration files. After `make install' Emacs should be able to use anubis-mode when editing appropriate configuration files. You will have to add the following to your .emacs or site-start file: (autoload 'anubis-mode "anubis-mode") (setq auto-mode-alist (append auto-mode-alist '(("/.anubisrc$" . anubis-mode) ("/anubisrc$" . anubis-mode)))) You may also wish to modify the following variables: * anubis-path The path to the anubis executable. Use this if anubis cannot be found using the search path. * anubis-section-body-indent Sets the indentation level for a section body. Defaults to 0. * anubis-level-indent Sets amount of indentation per block nesting level. Defaults to 2. ^L Local Variables: mode: auto-fill fill-column: 75 paragraph-separate: "[ ^L]*$" version-control: never End: