5. Automated ezmlm mailing list setup
5.1 Componentsezmlm lists allow almost infinite customization. The component build, together with the qmail delivery mechanism makes it possible to create any variant of list function imaginable. However, this complexity makes it somewhat daunting to the average user wanting to set up a mailing list. ezmlm-make(1) allows automated list setup, while permitting a large amount of configurability. ezmlm-both(1) is a shell script included with the distribution to demonstrate the ease with which complicated list setups can be achieved by regular users on a system. ezmlm-both(1) uses ezmlm-make(1) to establish a quite complex, but practical, list and digest set up. ezmlm-both(1) can be utilized in conjunction with ezmlm-cron(1) by a system's users to allow digest generation at regular intervals. ezmlm-cron(1) is a restrictive interface to crond(8) which allows users to set up digest triggering messages on a variety of configurable schedules. At first glance, ezmlm-make(1) has many complicated options. However, these can be applied iteratively through the ezmlm-make(1) edit mechanism. Also, they are intended to be relatively complete so that execution of ezmlm-make(1) by e.g. a GUI can be used to safely set up and edit any list.
5.2 How ezmlm-make works.ezmlm-make(1) reads its command line arguments and switches, then creates the list directory. If the ``-e'' edit or ``-+'' sticky edit switches are not specified, ezmlm-make(1) will fail if the directory already exists. The directory argument must be an absolute path starting with a slash. The dot-qmail file argument, if specified, must also be absolute. ezmlm-make(1) next reads ezmlmrc(5) located in the /etc/ directory with a default install. If not found, the file in the ezmlm binary directory will be used. The second ezmlm-make command line argument specify the root name of the .qmail files. If the ezmlm-make(1) ``-c'' switch is used, ezmlm-make(1) will look in that directory for a .ezmlmrc file and use it instead. If this file does not exist, ezmlm-make(1) will print a warning and use the previously discussed ezmlmrc(5) files in the same order. You can also use ``-C ezmlmrc.alt'' to use ezmlmrc.alt as the ezmlmrc(5) file. Again, ezmlm-make(1) will fall back to the others with a warning, if the specified ezmlmrc(5) file is not found. When not run in ``-e edit'' or ``-+'' sticky edit modes, ezmlm-make(1) first creates the list directory. It also as the last step of its action creates DIR/key containing the key used for cookie generation. The ezmlmrc(5) file consists of a number of file names relative to the list directory, followed by conditional flags (see ezmlm-make(1) and ezmlmrc(5) for details). If all the conditional flags (controlled by the corresponding command line switches) are true, the lines that follow are entered into the named file. There are also tags to erase files. Tags in the format <#X#> (where ``X'' is any number, except ``1'' and ``2'') are replaced by the corresponding ezmlm-make(1) switch argument. The ezmlm-make(1) command line arguments and the ezmlm binary path can be similarly substituted into the text. Thus, ezmlmrc(5) controls (within reason) the entire operation of ezmlm-make(1). ezmlmrc(5) is also set up so that no messages or file containing list state information are lost. Therefore, ezmlm-make(1) can be used to safely edit existing lists. ezmlm-make(1) will create the file DIR/config. This files saves all the flags that were set at the last execution of ezmlm-make, as well as all the switch and command line arguments. When editing a list, only ``DIR'' and the non-default letter switches need to be specified. Other command line arguments and the ``digit switch'' arguments are read from DIR/config. To remove a digit switch, simply use it with two single quotes as the argument. You can also easily determine how a list was set up by looking at DIR/config.
5.3 What names can I use for my lists?Rather than restrict you to a single E-mail address (
Notice that ``user'' is not part of the
.qmail file name.
There are two way to create lists with names not starting with your user name: First, qmail can be set up so that you control a virtual domain (see below). Second, the system administrator can set up lists with arbitrary names within the ~alias/ directory.
5.4 Lists in virtual domainsA virtual domain is a ``host name'' for a host that doesn't exist. Rather,
the name is for mail delivery only and handled by a user within an existing
host. For instance, the host ``isp.com'' may have a virtual
domain ``stamps.org'' controlled by user ``joe''. ``joe'' can set up lists with
any name
Thus, inlocal has to be adjusted, since the incoming recipient address
for all mail to the virtual domain is prefixed with the controlling user's
name. To set up
ezmlm-make(1) to automatically make the adjustment for you
within the virtual domain,
see
Adapting ezmlm-make for virtual domains.
5.5 How do I make customization simple for me/my users?All non-default switches, ezmlm-issubn(1) setups, etc, can be made standard for new lists by customizing the ezmlm-make(1) configuration file named ``ezmlmrc''. A default ezmlmrc(5) is installed in the ezmlm binary directory. If installed, a system-wide customized ezmlmrc file in /etc/ezmlmrc (or symlinked from there) overrides this. Installing a ~/.ezmlmrc file in a user dotdir and using the ezmlm-make(1) ``-c'' switch allows further per user customization (see Customizing ezmlm-make operation).
5.6 How ezmlm-cron works.
ezmlm-cron(1) is a very restrictive interface to crond(8). There is no
reason to use it if you have crond(8) access. Also, there is no need to
use
ezmlm-cron(1) or crond(8) unless you have very large busy lists,
or need to get digests at specific times. Otherwise, the default setup
is better and easier.
ezmlm-cron(1) can be used
to create digest trigger messages. If a list is set up with a digest
code (see
ezmlm-make(1) and
ezmlm-get(1)) ezmlm will generate a digest
from the list If you have cron access, create ~/ezcronrc and simply put your host name on the first line and ``user:::'' (where ``user'' is replaced by your user name) on the second line. Alternatively, the system administrator has set up ezmlm-cron(1) as a user with crond(8) access. Usually, the ezcronrc of that use will have an entry like ``user:user-:host:10'' allowing ``user'' to create trigger messages for up to 10 lists with names starting with ``user-'' and on the host ``host''. To list the ezcronrc line controlling your use of ezmlm-cron(1):
To list all entries that you've created:
To add an entry to trigger digests from list@host
every morning at 0230:
A new entry for the same list overwrites an old entry.
To delete the entry above:
or use ezmlm-cron to trigger messages at a different time:
|
© 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:29:01 PM on the MacOs Comments/Suggestions: webmaster@ezmlm.org |