is a small Mail Transport Agent (MTA), designed
for home and office use. It accepts mails from locally installed Mail User
Agents (MUA) and delivers the mails either locally or to a remote destination.
Remote delivery includes several features like TLS/SSL support and SMTP
is not intended as a replacement for real, big
MTAs like sendmail(8)
does not listen on port 25 for incoming
The options are as follows:
acts as a compatibility option for sendmail.
All other modes are are ignored.
- List all mails currently stored in the mail queue.
- Queue the mail, but don't attempt to deliver it. See
also the ‘DEFER’ config file setting below.
- Don't run in the background. Useful for debugging.
- Set sender address (envelope-from) to
sender. This overrides the value of the
- Ignore dots alone on lines by themselves in incoming
messages. This should be set if you are reading data from a file.
- Set the identifier used in syslog messages to the supplied
tag. This is a compatibility option for
- This is a compatibility option for sendmail.
- Specifying -oi is synonymous
to -i. All other options are ignored.
- Process saved messages in the queue. The argument is
optional and ignored.
- Same as -f.
- Obtain recipient addresses from the message header.
dma will parse the
Bcc: headers. The
header will be removed independent of whether
-t is specified or not.
can be configured with two config files:
These two files are stored per default in /etc/dma
Every file contains parameters of the form ‘name value’. Lines
containing boolean values are set to ‘NO’ if the line is
commented and to ‘YES’ if the line is uncommented. Empty lines
or lines beginning with a ‘#’ are ignored. Parameter names and
their values are case sensitive.
SMTP authentication can be configured in auth.conf
Each line has the format
Most of the behaviour of dma
can be configured in
- If you want to send outgoing mails via a smarthost, set
this variable to your smarthosts address.
- Use this port to deliver remote emails. Only useful
together with the ‘SMARTHOST’ option, because
dma will deliver all mails to this port,
regardless of whether a smarthost is set or not.
- Path to the local aliases file. Just stick with the
default. The aliases file is of the format
In this case, mails to
nam: dest1 dest2 ...
nam will instead be delivered
in turn could be entries in /etc/aliases. The
special name ‘
*’ can be used to
create a catch-all alias, which gets used if no other matching alias is
found. Use the catch-all alias only if you don't want any local mail to be
- Path to dma's spool directory.
Just stick with the default.
(string, default=not set)
- Path to the ‘auth.conf’ file.
- Uncomment if you want TLS/SSL secured transfer.
- Uncomment if you want to use STARTTLS. Only useful together
- Uncomment if you want to allow the STARTTLS negotiation to
fail. Most useful when dma is used without a
smarthost, delivering remote messages directly to the outside mail
exchangers; in opportunistic TLS mode, the connection will be encrypted if
the remote server supports STARTTLS, but an unencrypted delivery will
still be made if the negotiation fails. Only useful together with
‘SECURETRANS’ and ‘STARTTLS’.
- Path to your SSL certificate file.
- Uncomment this entry and change it to
‘INSECURE’ to use plain text SMTP login over an insecure
connection. You have to rename this variable manually to prevent that you
send your password accidentally over an insecure connection.
- Uncomment if you want that dma
defers your mail. You have to flush your mail queue manually with the
-q option. This option is handy if you are
behind a dialup line.
- Uncomment if you want the bounce message to include the
complete original message, not just the headers.
- The internet hostname dma uses
to identify the host. If not set or empty, the result of
gethostname(3) is used. If
‘MAILNAME’ is an absolute path to a file, the first line of
this file will be used as the hostname.
- Masquerade the envelope-from addresses with this
address/hostname. Use this setting if mails are not accepted by
destination mail servers because your sender domain is invalid. This
setting is overridden by the -f flag and the
EMAIL environment variable.
If ‘MASQUERADE’ does not contain a
sign, the string is interpreted as a host name. For example, setting
john@’ on host
hamlet’ will send all mails as
john@hamlet’; setting it to
percolator’ will send all mails as
Sm off username
- Bypass aliases and local delivery, and instead forward all
mails to the defined ‘SMARTHOST’. ‘NULLCLIENT’
requires ‘SMARTHOST’ to be set.
The behavior of dma
can be influenced by some
- Used to set the sender address (envelope-from). Use a plain
address, in the form of
value will be overridden when the -f flag is
J. B. Postel,
Simple Mail Transfer Protocol, RFC
SMTP Service Extension for Authentication,
SMTP Service Extension for Secure SMTP over TLS,
utility first appeared in
was written by
and Simon Schubert