MeTA1

News

Overview

MeTA1 is a message transfer agent that has been designed with
these main topics in minds:

Security

Reliability

Efficiency

Configurability

Extendibility

MeTA1 consists of five main modules of which only one runs
as root:

mcp:
the main control program is similar to inetd(8):
it starts all other MeTA1 modules and watches over their execution.
mcp runs as root in order to bind to port 25 and to change the
uid of the processes it starts.

smtps:
the SMTP server receives e-mails.

smtpc:
the SMTP client sends e-mails.

smar:
the address resolver provides lookups in various maps including
DNS for mail routing.

qmgr:
the queue manager controls the flow of e-mails through the SMTP
servers and clients.

All of these modules run persistently.
smtps and smtpc make use of the statethreads library
which provides a threading API well suited for Internet applications,
smar and qmgr use the POSIX threads API.

The syntax of the MeTA1 configuration file is very simple and
resembles C programs or the BIND 9 configuration files.
A configuration file does not require any special layout,
e.g., tabs or one option per line,
but relies on braces and semicolons as structuring elements.

The first release of MeTA1
is intended to be used as a secure and efficient mail gateway.
It offers features that are not available in
sendmail 8
(or some other open source MTAs),
however,
it does not provide any builtin support for
mail content modification, e.g.,
masquerading of addresses or changing (addition, removal) of headers.
Those features are currently only available via the
pmilter API.

MeTA1 comes with a
policy mail filter library (libpmilter)
which offers similar features as
libmilter
known from
sendmail 8.
Two milter programs have been ported to the pmilter API
and are available in the contrib directory.

(2009-01-06)
The libpmilter library only provides hooks for a single pmilter,
to interact with multiple milters a
PMilter Multiplexor
is needed.
This has been implemented by
Sergey Poznyakoff
in his
mailfromd
software.

All aspects of MeTA1 (including installation, configuration,
and operation) are documented in a single README file which is
available in various formats
(dvi,
HTML,
PostScript,
PDF, and
plain text)
such that the user can select the most appropriate format for her needs.
Additionally, a design document is separately available
for background reading which also covers the implementation and
many other aspects.

MeTA1 License

MeTA1 has basically the same license as
sendmail 8.
However, it contains several other modules (e.g.,
Berkeley DB,
statethreads)
which come with their own licenses.