]> git.ipfire.org Git - people/ms/dma.git/blob - README.Debian
Switch to bzip2 compression for the Debian tarball.
[people/ms/dma.git] / README.Debian
1 dma for Debian
2 --------------
3
4 1. Smarthost operation by default - needs to be configured!
5
6 After first installing dma, you need to configure it for proper operation -
7 whether it should deliver all outgoing e-mail messages through a single
8 smarthost or attempt to contact the remote mail servers directly. This should
9 be configured through the debconf questions, but you may change the setting
10 using the SMARTHOST directive in the /etc/dma/dma.conf file.
11
12 2. Deferred delivery possible via a cron job
13
14 The dma mail transfer agent may operate in two modes - immediate and
15 deferred. In both cases, a new dma process is spawned for the delivery
16 of each outgoing message, and this process lives on until the message is
17 either successfully delivered or it times out after five days.
18
19 In immediate delivery mode, which is the default, the new dma process is
20 spawned as soon as the message is submitted to the queue. In deferred mode,
21 the message is left in the queue and will only be processed when dma is invoked
22 separately with the "-q" command-line option. This used to be the preferred
23 delivery mode for the Debian package - even though there may be slight delays,
24 the queue must still be processed periodically anyway (if an immediate delivery
25 is deferred, the message is still left on the queue), so there's no harm done
26 in always doing it that way.
27
28 Hence, the Debian package of dma installs a cron job that attempts to
29 flush the queue every five minutes. Note that this does NOT mean that
30 message delivery will be attempted every five minutes! Once the queue
31 is flushed, a separate dma instance is spawned for each still-unhandled
32 message, and it takes care of reasonable exponential back-off in case of
33 delivery problems.
34
35 This cron job has no ill effect if dma has been configured for immediate
36 delivery - if a message is submitted, a dma process shall be spawned to handle
37 its delivery at once, and the cron job will not spawn any additional processes
38 or in any way interfere with the running ones. However, if the dma process
39 that handles the delivery should die for some reason, or the system should be
40 restarted, the cron job will ensure that a new delivery process is spawned in
41 due time and the message is not just left in the queue.
42
43 3. Double-bounce handling
44
45 By default, the dma mail transfer agent does not attempt to handle double
46 bounces - it aborts the delivery with a critical syslog message.
47 This, combined with the Debian package's default of "flush the queue
48 every five minutes", may pose something of a strain on the mail server :)
49 Thus, the Debian version of dma adds a new feature - you may specify
50 an external program to handle double bounces with the DBOUNCEPROG
51 directive in the /etc/dma/dma.conf file. Also included is a sample
52 program, dbounce-simple-safecat, which uses the safecat utility to
53 copy the bounce message into a Maildir-structured storage,
54 /var/spool/mail/dma-bounces by default. For the present, the copied file
55 still has the dma internal format, which is plain text, but is not really
56 a mailbox :)
57
58 -- Peter Pentchev <roam@ringlet.net> Tue, 27 Jul 2010 13:26:48 +0300