Previous Next


FAQ-0.32x Table of Contents | FAQ-0.31x Table of Contents | Ezman Manual (0.32x) | Ezman Manual (0.31x) | Version Changes | Search the FAQ | Search the ezmlm list archive | Ezmlm Manual Pages | Qmail Manual Pages | Readme File | Upgrade Instructions | Site Outline

12. Customizing digests.

12.1 Setting up a digest list.

Digests are integrated with normal ezmlm lists if you use ezmlm-idx>=0.30. Just add the ezmlm-make(1) ``-d'' switch to your list setup. To add digests to an existing list created with ezmlm-idx>=0.23 use:

        % ezmlm-make -+d DIR
For ezmlm-0.53 or older lists, you just need to re-specify also other switches and the other ezmlm-make(1) arguments.

12.2 Why use cron-triggered digests and a digest code.

A digest code is necessary if you want to be able to trigger digests by sending mail to ezmlm. You do not need this for a normal digest setup, where digests are triggered by messages to the list. However, it is required when instead you'd like to create digests at a specific time (interval) rather than an approximate interval, since in the default setup digesting is considered only each time a post arrives. Occasionally, such as around a holiday, list traffic may slow down almost completely. Messages may have accumulated since the last digest, but this is not tested since no new messages arrive. With a cron controlled digest, these messages get put into digests when the next digest trigger message is set. Your users may also prefer a digest that it made exactly at 0600, rather that one that arrives about one day after the previous one.

The digest code enables ezmlm-get(1) to send digests, and at the same time protects your list against unauthorized access. Without this protection, anyone could retrieve all the messages from your archive with the associated ability to use your system resources. An outsider can still do this if s/he knows your digest code. Therefore, keep it secret and in files that only you can read (crontab files, mail logs, DIR/manager, and DIR/config). You can also completely disable this mode of digest triggering and use other means of generating digests (see below).

Since you can run ezmlm-get(1) directly from crond(8), there is no reason to add a digest code if you have cron access on the list machine. If you do not, you can use crond(8) on another machine to send digest trigger messages at the desired time points. The system administrator who does not give you crond(8) access may allow you access to ezmlm-cron(1) which works via trigger messages and digest code (see ezmlm-cron(1) man page).

12.3 How to set up a digest code.

To set up a digest code, either set up a list via ezmlm-make(1) (the digest code is the 5th [optional] command line argument), or add the digest code as the second [optional] command line argument to the ezmlm-get(1) command line in DIR/manager. The digest code should contain only characters valid in the local part of E-mail addresses (alphanumeric to be safe) and is case-insensitive.

If there is no digest code on the ezmlm-get(1) command line, ezmlm-get will not honor digest requests when invoked in DIR/manager. If the digest request does not have the correct digest code, and error will be returned, rather than a digest.

There are other ways of invoking ezmlm-get(1) that do not require a digest code (see How digests work).

12.4 Generating daily digests.

The easiest way to generate trigger messages is to use ezmlm-cron(1). For this, you either need cron access, or a system administrator who has set up ezmlm-cron(1) to allow you to use it without cron access. This involves granting a specific user cron access and then setting up ezmlm-cron(1) to run as that user.

To use ezmlm-cron to generate triggers to list@host for digests every morning at 5 am:

% ezmlm-cron -t 05:00 -i24 list@host digestcode
Other ezmlm-cron(1) options let you list the trigger settings that belong to you and the configuration file line that controls which triggers you may generate (see ezmlm-cron(1)).

As an alternative, you can use cron directly to send mail to:

list-dig.digestcode@host
to generate a digest from list@host to the subscribers of list-digest@digesthost.

If the timing of the digest is not essential, use ezmlm-make(1) with the ``-d'' switch to configure digest generation when sufficient activity has passed, optionally with the ``-4'' switch to specify the command line arguments for ezmlm-tstdig(1).

If you have shell access to the host running the list, you can also use the procedure described under Disabling digest triggering by mail.

12.5 Generating the first digest.

If you want the first digest to start with issue 1 and the first message in your archive, no special action is required.

If you want the first digest to start at message 123 and you have shell access, put '122' into DIR/dignum.

If you want the next digest to start at message 456, you can always edit DIR/dignum to contain '455'. If you want the next digest to be named issue 678, put '677' into DIR/digissue.

12.6 Generating digests after a certain time, number, or amount of messages.

ezmlm-send(1) and ezmlm-get(1) in ezmlm-idx>=0.22 keep track of not only message number, but also the amount of ``message body'' text posted to the list since the latest digest, as well as the time of the latest digest. This is automatic. There is no need to modify old lists for this to occur. DIR/num now contains the message number followed by ':' and a cumulative amount of ``message body traffic'' (in ``records'' of 256 bytes) that has been sent by ezmlm-send(1). ezmlm-get(1) transfers this information to DIR/dignum and adds a ':' as well as a time stamp when successfully generating a digest.

ezmlm-tstdig is configured automatically in DIR/editor is you use ezmlm-make with the ``-3'' switch (see ezmlm-make(1) and ezmlm-tstdig(1)). This is also used by ezmlm-both(1) which sets up a commonly requested advanced combination of list and list-digest with a single command.

12.7 Adding standard administrative information to digests.

The text in DIR/text/digest is copied into the ``Administrivia'' section of the digest. This information can be customized on a system-wide basis by editing /etc/ezmlmrc, on a user-wide basis by editing ~/.ezmlmrc, or for the list by directly editing the DIR/text/digest file, or by a remote administrator by editing the file via e-mail, if the list has been set up using the ezmlm-make(1) ``-nr'' switches (see How text file editing works).

12.8 Controlling the digest format.

You can control the default format that ezmlm-get(1) uses for its output by using the ``-f x'' switch. For individual digests triggered by mail or other archive access, add a format specifier after the digestcode:

      
list-dig.codef@host
For example:
      
joe-sos-dig.gagax@id.com
where ``x'' is ``r'' for RFC1153 format, ``m'' (default) for MIME multipart/digest with a subset of headers, ``v'' for virgin MIME multipart/digest, i.e. with all headers retained from the archive, ``n'' produces format similar to ``v'', without threading and with messages in numerical order. The ``x'' format is identical to the default ``m'' format, but the digest content-type is ``multipart/alternative'' rather than ``multipart/digest''. This helps with a pine bug if you are using quoted-printable/base64 encoding of ezmlm messages.

With digests triggered directly from crond(8), just use the ``-f'' format specifier:

        ezmlm-get -fx DIR

With ezmlm-cron(1), add the format specifier to the end of the digest code argument.

12.9 Customizing bounce handling.

The time out for bounce messages is normally 11.6 days. This means that a bad address will take longer that 3 weeks to be removed. Usually, this delay is desirable. After all, it is much worse to remove a subscriber just because the address had temporary problems that to send a few extra messages and receive a few extra bounces.

However, for large lists, bounce handling can consume a considerable amount of resources. To decrease the load, remove all ezmlm-warn(1) lines from the DIR/editor, and DIR/manager files. Instead, execute:

/path/ezmlm-warn DIR
/path/ezmlm-warn -d DIR
daily during off-peak hours via a cron script. The second line can be omitted if you are not using the digest capability of the list.

In addition, you may want to reduce the time out for bounces from 11.6 to a lower number of days, e.g. 5. To do so, add ``-t 5'' to the ezmlm-warn(1) command line.

If you start with a list from a list manager that does not have bounce handling, chances are that you have many bad addresses in your list. You can always execute:

/path/ezmlm-warn -t0 DIR
/path/ezmlm-warn -d -t0 DIR
to move bounce handling one step forward per execution. Users whose mail has bounced will be sent a warning. Users for whom the warning message has bounced will be sent a probe.

© Copyright 1997, 1998, 1999 Fred Lindberg, lindberg@id.wustl.edu & Fred B. Ringel, fredr@rivertown.net
This page was last built on 10/3/99; 1:27:34 PM on the MacOs
Comments/Suggestions: webmaster@ezmlm.org

Previous Next