ezmlm(5) ezmlm(5) NNAAMMEE ezmlm - format of ezmlm directory OOVVEERRVVIIEEWW An eezzmmllmm directory, _d_i_r, stores information about an eezzmmllmm mailing list. eezzmmllmm--mmaakkee creates _d_i_r; eezzmmllmm--ssuubb and eezzmmllmm--uunnssuubb manipulate the subscriber list stored under _d_i_r; eezzmmllmm--mmaannaaggee handles administrative requests automatically; eezzmmllmm--sseenndd sends a message to all subscribers listed in _d_i_r and also maintains a message archive and message subject index if the list is configured to do so. eezzmmllmm--rreejjeecctt rejects mes- sages that have an empty subject, or a subject consisting of only a command word; eezzmmllmm--rreettuurrnn handles bounces; eezzmmllmm--wwaarrnn warns users for which messages bounce and eventually removes them from the subscriber list. eezzmmllmm--iiddxx can create a subject index from an existing list archive. eezzmmllmm--ggeett manages message, index, and thread retrieval from the archive, as well as the generation of message digests; eezzmmllmm--ccrroonn provides a restricted interface to cron for the generation of digest generation trigger messages; eezzmmllmm--ssttoorree queues messages of moderated lists and sends a moderation request to the moderator(s); eezzmmllmm--mmooddeerr-- aattee processes moderation requests to accept the queued message to the list via eezzmmllmm--sseenndd,, or to return the message to the sender; eezzmmllmm-- cclleeaann cleans up the moderation queue and returns to the sender any mes- sages that have timed-out; eezzmmllmm--ggaattee posts messages that come from a SENDER in an address database, and sends remaining messages out for moderation; eezzmmllmm--cchheecckk is used to diagnose problems with ezmlm mailing list configuration; eezzmmllmm--iissssuubb and eezzmmllmm--iissssuubbnn determine if a SENDER is a subscriber or a member of a collection of addresses; eezzmmllmm--ttssttddiigg determines if it is time to create a new digest based on the number and volume of messages and the amount of time that has passed since the last digest was issued; eezzmmllmm--rreeqquueesstt can be used to answer eezzmmllmm com- mands in the subject line easing migration from other mailing list man- agers. It can also function as a global interface mimicking the inter- face of other mailing list manager. eezzmmllmm--ggllmmaakkee can set up the global interface, and eezzmmllmm--ggllccoonnff can create a configuration file for the global interface from your lists. SSUUBBSSCCRRIIBBEERRSS _d_i_r//ssuubbssccrriibbeerrss is a directory containing the subscriber list. eezzmmllmm-- mmaannaaggee allows automatic subscription if _d_i_r//ppuubblliicc exists. The list is hashed into 53 files, named @@ through tt in ASCII. A nonex- istent file is treated as an empty file. Each file contains a series of addresses. An address can be any string of non-NUL characters up to 400 bytes long. Each address is preceded by the letter T and followed by a NUL. For reliability, when an address is added to or removed from the mail- ing list, the relevant file is recreated under a temporary name inside _d_i_r//ssuubbssccrriibbeerrss and then moved into place. _d_i_r//kkeeyy is a binary file. eezzmmllmm--mmaannaaggee uses _d_i_r//kkeeyy to create confir- mation numbers. Anyone who can guess the contents of _d_i_r//kkeeyy can forge subscription requests. eezzmmllmm--mmaakkee does not put much effort into making _d_i_r//kkeeyy difficult to guess; for better security, you should add some random garbage to _d_i_r//kkeeyy. AARRCCHHIIVVEE _d_i_r//aarrcchhiivvee is a directory containing messages previously sent to sub- scribers. eezzmmllmm--sseenndd archives all new messages if _d_i_r//aarrcchhiivveedd exists. If _d_i_r//iinnddeexxeedd exists, eezzmmllmm--sseenndd also maintains a message subject and author index. Messages sent to the mailing list are numbered from 1 upwards, whether or not they are archived. _d_i_r//nnuumm is the number of messages sent so far followed by ’:’, followed by the cumulative amount of message body that has passed eezzmmllmm--sseenndd stored as kbytes * 4 (4 corresponds to 1kb). _d_i_r//aarrcchhiivvee has subdirectories, each subdirectory storing up to 100 messages. Message number 100m+n, with n between 0 and 99, is stored in _d_i_r//aarrcchhiivvee//_m//_n. For example, message number 15307 is stored in _d_i_r//aarrcchhiivvee//115533//0077. The message index is stored in the file iinnddeexx in the same subdirectory of _d_i_r//aarrcchhiivvee holding the corresponding mes- sages. Thus, the subject index contains up to 100 entries. The subject index contains message subjects that are normalized so that the original message and all replies have the same entry. The subject index is used for advanced message retrieval functions. For safety, the subject index is created under a temporary name inside _d_i_r//aarrcchhiivvee and then moved into place. eezzmmllmm--mmaannaaggee will ignore message files without the owner-execute bit set. eezzmmllmm--sseenndd turns on the owner-execute bit after safely writing the message to disk. eezzmmllmm--mmaakkee by default adds eezzmmllmm--ggeett to _d_i_r//mmaannaaggeerr to handle _-_g_e_t_, _-_i_n_d_e_x_, and _-_t_h_r_e_a_d requests. If eezzmmllmm--mmaakkee is invoked with a _d_i_g_c_o_d_e command line argument, digest creation is enabled by putting this argu- ment on the eezzmmllmm--ggeett command line. BBOOUUNNCCEESS _d_i_r//bboouunnccee is a directory containing bounce messages. eezzmmllmm--rreettuurrnn stores several types of files here. DDEELLIIVVEERRYY IINNSSTTRRUUCCTTIIOONNSS eezzmmllmm--mmaakkee sets up four files to control mailing list deliveries. Each file is a series of delivery instructions in ddoott--qqmmaaiill format. _d_i_r//eeddiittoorr handles incoming mailing list submissions. eezzmmllmm--mmaakkee sets up _d_i_r//eeddiittoorr to invoke eezzmmllmm--sseenndd to immediately forward each message to all subscribers and then to run eezzmmllmm--wwaarrnn. _d_i_r//oowwnneerr handles incoming messages for the mailing list’s owner. eezzmmllmm--mmaakkee sets up _d_i_r//oowwnneerr to store messages in _d_i_r//MMaaiillbbooxx and then to run eezzmmllmm--wwaarrnn. _d_i_r//bboouunncceerr handles incoming bounce messages. eezzmmllmm--mmaakkee sets up _d_i_r//bboouunncceerr to invoke eezzmmllmm--rreettuurrnn. eezzmmllmm--wwaarrnn is no longer invoked here due to the load it places on systems with many large lists with many bounces. _d_i_r//mmaannaaggeerr handles incoming administrative requests. eezzmmllmm--mmaakkee sets up _d_i_r//mmaannaaggeerr to invoke eezzmmllmm--ggeett, eezzmmllmm--mmaannaaggee, and then eezzmmllmm--wwaarrnn. _d_i_r//mmooddeerraattoorr handles incoming message _a_c_c_e_p_t and _r_e_j_e_c_t requests for moderated lists. eezzmmllmm--mmaakkee sets up _d_i_r//mmooddeerraattoorr to invoke eezzmmllmm--mmoodd-- eerraattee, and .BR ezmlm-clean . DDIIGGEESSTTSS eezzmmllmm--ggeett can create digests if it is invoked from the command line, from _d_i_r//eeddiittoorr, or from _d_i_r//mmaannaaggeerr. The program functions in slightly different ways in these 3 settings (see eezzmmllmm--ggeett((11))). To enable automatic digests for a mailing list, use the eezzmmllmm--mmaakkee --dd switch. To also enable the generation of digests at specific times dic- tated by mailed trigger messages, a _d_i_g_c_o_d_e should be specified on the eezzmmllmm--ggeett command line. This can be done by specifying _d_i_g_c_o_d_e as a fifth argument to eezzmmllmm--mmaakkee when setting up the list. _d_i_g_c_o_d_e must be alphanumeric and is case-insensitive. To generate trigger messages, use eezzmmllmm--ccrroonn((11)) as an interface to ccrroonndd((88)) or use ccrroonndd directly. _d_i_r//nnuumm contains the number of the last message processed, followed by ’:’ and a number that is increased by 1 for each 256 bytes of message body text processed. The latter number is used by eezzmmllmm--ttssttddiigg to determine if a new digest is due. _d_i_r//ddiiggnnuumm contains the contents of _d_i_r//nnuumm at the time of the last regular digest creation, followed by a ’:’, followed by a timestamp. It is updated after each regular digest is sent. _d_i_r//ddiiggiissssuuee contains the issue number of the last regular digest. It is incremented for each regular digest sent. The following user crontab entry (all on one line) generates a digest of the list _l_i_s_t_@_h_o_s_t_._d_o_m_a_i_n at 1600 every day: 00 16 * * * /var/qmail/bin/qmail-inject list-dig.digcode Alternatively, eezzmmllmm--ccrroonn can be used: % ezmlm-cron -t 16:00 list@host digcode eezzmmllmm--ggeett can also be run from the shell: To generate a digest to _l_i_s_t_- _d_i_g_e_s_t_@_h_o_s_t from the list housed in _~_j_o_e_/_l_i_s_t: % ezmlm-get ~joe/list Like other eezzmmllmm--ggeett replies, digest can be sent in several formats. See eezzmmllmm--ggeett((11)) for more info. MMOODDEERRAATTIIOONN There are three aspects of moderation: moderation of posts, moderation of subscriptions, and "remote administration", i.e. giving the modera- tor the right to (un)subscribe any user. eezzmmllmm handles these three aspects separately. The two first aspects enhance security, while the third decreases security, but makes list administration considerably easier. By default, the moderator database is the same for all three functions. While "remote administration" and subscription moderation always use the same database, the moderators for message moderation can be different. Even with subscription moderation, the user has to verify the request. This is to ensure that the user initiating the request really controls the address. eezzmmllmm--mmaannaaggee options exist to disable the user handshake, which may be useful in some circumstances. For moderation options, the moderators are by stored in a subscriber list in _m_o_d_d_i_r//ssuubbssccrriibbeerrss. By default _m_o_d_d_i_r is _d_i_r//mmoodd. Moderators can be added and removed with: eezzmmllmm--ssuubb _m_o_d_d_i_r _m_o_d_e_r_a_t_o_r_@_h_o_s_t eezzmmllmm--uunnssuubb _m_o_d_d_i_r _m_o_d_e_r_a_t_o_r_@_h_o_s_t For subscription moderation, touch _d_i_r//mmooddssuubb after adding modera- tor(s). For remote administration, touch _d_i_r//rreemmoottee. If the contents of these files start with a leading forward slash, it is assumed to be the name of mmooddddiirr subscription moderation. If both files exist and start with a forward slash, the _d_i_r//rreemmoottee contents are ignored. Moder- ators are stored in a subscriber list in the ssuubbssccrriibbeerrss subdirectory of mmooddddiirr. If no directory names are specified, the default, _d_i_r//mmoodd, is used. In all cases, the _s_u_b_s_c_r_i_b_e_r_s subdirectory of the base direc- tory must exists/be created. Moderation of messages is achieved by creating _d_i_r//mmooddppoosstt and modify- ing _d_i_r//eeddiittoorr to invoke eezzmmllmm--ssttoorree.. eezzmmllmm--ssttoorree stores the message in _d_i_r//mmoodd//ppeennddiinngg and sends a moderation request to all moderators stored in _m_o_d_d_i_r. If _d_i_r//mmooddppoosstt does not exist, eezzmmllmm--ssttoorree posts messages directly, and eezzmmllmm--cclleeaann does nothing. If _d_i_r//mmooddppoosstt contains a directory name starting with a forward slash, this directory is used as _m_o_d_d_i_r for message moderation. Moderators are stored in a subscriber list in the _s_u_b_s_c_r_i_b_e_r_s subdirectory of _m_o_d_- _d_i_r. If no directory names are specified, the default, _d_i_r//mmoodd, is used. _d_i_r//mmooddeerraattoorr is linked to _d_o_t--aacccceepptt--ddeeffaauulltt and _d_o_t--rreejjeecctt--ddeeffaauulltt. It handles replies from the moderators. In addition to a moderator list, the directories _d_i_r//mmoodd//ppeennddiinngg, _d_i_r//mmoodd//aacccceepptteedd, and _d_i_r//mmoodd//rreejjeecctteedd must exist. These directories contain the message moderation queue. If _d_i_r//mmoodd//mmooddttiimmee it determines the minimal time in hours that mes- sages wait in the moderation queue, before they are returned to sender with the message in _d_i_r//tteexxtt//mmoodd--ttiimmeeoouutt. If a _-_h_e_l_p command is send for a moderator and _d_i_r//mmooddssuubb or _d_i_r//rreemmoottee exist, a more detailed help message stored in _d_i_r//tteexxtt//mmoodd--hheellpp will be sent together with the regular help. This text should not contain secrets. If _d_i_r//tteexxtt//mmoodd--hheellpp does not exist, _d_i_r//tteexxtt//hheellpp will be sent. If a _-_l_i_s_t command is sent for a moderator and _d_i_r//mmooddssuubb or _d_i_r//rreemmoottee exist, and the eezzmmllmm--mmaannaaggee --ll command line switch is specified, a sub- scriber list will be returned. If an _-_e_d_i_t_._f_i_l_e command is sent for a moderator and _d_i_r//rreemmoottee exist, and the eezzmmllmm--mmaannaaggee --dd command line switch is specified, tteexxtt//ffiillee is returned together with an eezzmmllmm cookie. The remote administrator may return an edited version of the file, which will be stored, provided that the cookie is valid. See eezzmmllmm--mmaannaaggee((11)) for more info. TTEEXXTT _d_i_r//tteexxtt is a directory containing files sent out by eezzmmllmm--mmaannaaggee in response to administrative requests: ttoopp Introducing eezzmmllmm. This is placed at the top of each response. bboottttoomm Explaining how to use eezzmmllmm. This is placed at the bot- tom of each response. ssuubb--ccoonnffiirrmm Explaining how to confirm a subscription request. ssuubb--ookk Acknowledging successful subscription. ssuubb--nnoopp Acknowledging a subscription request for an address already on the mailing list. ssuubb--bbaadd Rejecting a bad subscription confirmation number. uunnssuubb--ccoonnffiirrmm Explaining how to confirm an unsubscription request, and explaining how to figure out the subscription address. uunnssuubb--ookk Acknowledging successful unsubscription. uunnssuubb--nnoopp Acknowledging an unsubscription request for an address not on the mailing list. uunnssuubb--bbaadd Rejecting a bad unsubscription confirmation number. ggeett--bbaadd Rejecting a bad archive retrieval request. ddiiggeesstt Text copied into the _A_d_m_i_n_i_s_t_r_a_t_i_v_i_a section of the digest. Usually, this will contain subscription info for the digest, as well as information on how to post to the list. ttrraaiilleerr If this files exists, it is copied to the end of all messages to the list. ffaaqq Sent in response to the _f_a_q command. Usually contains frequently asked questions and answers specific for the mailing list. iinnffoo Sent in response to the _i_n_f_o command. Usually contains a descripition, policy, etc, for the list. The first line should in itself be a very brief description of the list. bboouunnccee--wwaarrnn Pointing out that messages have bounced. bboouunnccee--pprroobbee Pointing out that a warning message has bounced. bboouunnccee--nnuumm Explaining that eezzmmllmm--rreettuurrnn has kept a list of bounced message numbers. ddiigg--bboouunnccee--nnuumm Explaining that digest messages have bounced. All other text files are used for both the main list and the digest list. bboouunnccee--bboottttoomm Separating the bounce message. mmoodd--hheellpp is set to list moderators issuing a _-_h_e_l_p command. It contains instructions for moderators, but it is rela- tively trivial for a non-moderator to read it. Don’t put secrets here. mmoodd--rreejjeecctt is the returned to the sender of a rejected post. mmoodd--ttiimmeeoouutt is returned if the message timed-out without moderator action. mmoodd--ssuubb is added to the text confirming subscription and unsub- scription instead of bboottttoomm and the requesting message, for actions that were approved by a moderator. Not copy- ing the requesting message hides the moderator identity from the subscriber. mmoodd--rreeqquueesstt is the text sent to the moderators to request moderator action on a posted message. mmoodd--uunnssuubb--ccoonnffiirrmm Requesting that the moderator confirm a request to sub- scribe. If this file does not exist, ssuubb--ccoonnffiirrmm will be used. mmoodd--uunnssuubb--ccoonnffiirrmm Requesting that the moderator confirm a request to unsubscribe. If this file does not exist, uunnssuubb--ccoonnffiirrmm will be used. eeddiitt--ddoo Instructions sent to the remote administrator together with a copy of a _d_i_r//tteexxtt file and editing instructions. eeddiitt--lliisstt A list of editable files in _d_i_r//tteexxtt with a one-line description send to a remote administrator in response to a _-_e_d_i_t command. eeddiitt--ddoonnee Sent to the remote administrator after an edited _d_i_r//tteexxtt file has been successfully saved. Several tags in the text files are replaced by ezmlm programs. All programs replace the tag <<##ll##>> with the name of the list or the list- digest, as appropriate for the request, and <<##hh##>> with the hostname for the list. eezzmmllmm--sseenndd and eezzmmllmm--ggeett replace <<##nn##>> with the current mes- sage number in added headers from _d_i_r//hheeaaddeerraadddd and text files. eezzmmllmm-- ggeett does this for digest messages, where the current message is the number of the first message in the digest. eezzmmllmm--mmaannaaggee replaces the tag <<##AA##>> anywhere on a line with the subscription address, and <<##RR##>> anywhere on a line with the address the subscriber must reply to. Only the first tag on any line is processed. For backwards compatibility, eezzmmllmm--mmaannaaggee replaces the line !!AA in any of these files with the name of the subscription address. It replaces the line !!RR in ssuubb--ccoonnffiirrmm and uunnssuubb--ccoonnffiirrmm with the address that the subscriber must reply to. eezzmmllmm--ssttoorree replaces the tag <<##AA##>> anywhere on a line with the address for accepting the message, and <<##RR##>> anywhere on a line with the address for rejecting the message. Only the first tag on any line is processed. For backwards compatibility, eezzmmllmm--ssttoorree also replaces the line !!AA with the address for accepting the message and the line !!RR with the address for rejecting the message. OOUUTTGGOOIINNGG MMEESSSSAAGGEE EEDDIITTIINNGG _d_i_r//hheeaaddeerrrreemmoovvee is a list of bad header field names, one per line. eezzmmllmm--sseenndd removes these header fields from all outgoing messages. eezzmmllmm--mmaakkee sets up _d_i_r//hheeaaddeerrrreemmoovvee to remove RReettuurrnn--PPaatthh, RReettuurrnn-- RReecceeiipptt--TToo, and RReettuurrnn--PPaatthh fields. _d_i_r//hheeaaddeerraadddd is a list of new header fields. eezzmmllmm--sseenndd adds these fields to every outgoing message. eezzmmllmm--sseenndd sets up _d_i_r//hheeaaddeerraadddd to add XX--NNoo--AArrcchhiivvee:: yyeess and PPrreecceeddeennccee::bulk.. If _d_i_r//mmiimmeerreemmoovvee exists, eezzmmllmm--sseenndd removed parts with the correspond- ing content-types from composite MIME messages. If the eezzmmllmm--rreejjeecctt _d_i_r argument is specified, simple MIME messages of these content-types are rejected. If _d_i_r//mmiimmeerreejjeecctt exists, and the eezzmmllmm--rreejjeecctt _d_i_r argument is speci- fied, simple MIME messages of these content-types, or composite MIME messages with any body part of these content-types are rejected. If _d_i_r//sseeqquueennccee exists, the first line is added as a header to all out- going messages, followed by a space and the message number. The message number is useful for archive retrievals, since some mail systems do not reveal the return-path to the user. NNOOTTEE:: Sublists have their own mes- sage counter. Adding a sequence header from a sublists will give you the sublist message number which is different from the main list mes- sage number. _d_i_r//pprreeffiixx is a subject prefix. If this file exists, its contents are prefixed to the subject of the post in the outgoing message. The archived message is not processed. Attempts are made to not duplicate an existing prefix in replies. Think twice before using this option. A prefix takes unnecessary space on the subject line and most mail clients can easily filter on other headers, such as ’Mailing-List:’. If _d_i_r//pprreeffiixx ccoonnttaaiinnss aa ssiinnggllee ’’##’’,, tthhiiss wwiillll bbee rreeppllaacceedd bbyy tthhee mmeessssaaggee number. The use of this feature is inadvisable and violates internet mail standards. However, it is very popular in e.g. Japan. If you must use this feature, make sure you are aware that you may be causing prob- lems to users, sublists, etc. _d_i_r//tteexxtt//ttrraaiilleerr is a message trailer. If this file exists, it’s con- tents are copied to the end of outgoing messages. Only lines terminated with new-line are copied. No trailer is copied to the archived version of the message. MMIISSCCEELLLLAANNYY The first line of _d_i_r//mmaaiilliinngglliisstt is a line of text. eezzmmllmm--sseenndd cre- ates a new MMaaiilliinngg--LLiisstt field, showing the contents of _d_i_r//mmaaiilliinngglliisstt, in every outgoing message. If _d_i_r//lliissttiidd exists, ezmlm programs create a new LLiisstt--IIDD field, show- ing the contents of the first line of _d_i_r//lliissttiidd, in every outgoing message. The list-id should be unique and within name space controlled by the owner. It should remain constant even if lists move and be of the format List-ID: optional_text This header would result from a _d_i_r//lliissttiidd file containing ‘‘optional_text ’’. See _h_t_t_p_:_/_/_w_w_w_._w_i_t_h_i_n_._c_o_m_/_~_c_h_a_n_d_- _h_o_k_/_i_e_t_f_/_l_i_s_t_i_d_._s_h_t_m_l for more info. The first lines of _d_i_r//oouuttllooccaall and _d_i_r//oouutthhoosstt give the outgoing name of the mailing list. These are used by eezzmmllmm--mmaannaaggee and eezzmmllmm--sseenndd to construct sender addresses for outgoing messages. The first lines of _d_i_r//iinnllooccaall and _d_i_r//iinnhhoosstt give the incoming name of the mailing list. These are used by eezzmmllmm--mmaannaaggee to parse incoming envelopes. Normally _i_n_l_o_c_a_l and _i_n_h_o_s_t are the same as _o_u_t_l_o_c_a_l and _o_u_t_h_o_s_t, but sometimes they are different, with _o_u_t_l_o_c_a_l@@_o_u_t_h_o_s_t for- warded to _i_n_l_o_c_a_l@@_i_n_h_o_s_t. If _d_i_r//ssuubblliisstt exists, this mailing list is a sublist, redistributing messages from a parent mailing list. The first line of _d_i_r//ssuubblliisstt is the name of the parent list. This affects the behavior of eezzmmllmm--sseenndd. If _d_i_r//qqmmqqppsseerrvveerrss exists, eezzmmllmm--sseenndd and eezzmmllmm--ggeett will use qqmmaaiill-- qqmmqqppcc((11)) to send posts and digests. Other mail will use the normal qmail mechanism. If qqmmaaiill--qqmmqqppcc is modified correctly, server IP addresses listed one per line in _d_i_r//qqmmqqppsseevveerrss will be tried in order, rather than the default servers specified in _/_v_a_r_/_q_m_a_i_l_/_c_o_n_t_r_o_l. If _d_i_r//mmssggssiizzee exists, it is assumed to contain ‘‘max:min’’, where ‘‘max’’ is the maximum size in bytes of an acceptable message body, and ‘‘min’’ the corresponding minimal size. Either will be ignored if zero or omitted. If the eezzmmllmm--rreejjeecctt command line specifies the list direc- tory, messages not meeting the size criteria are rejected. If _d_i_r//cchhaarrsseett exists, the first line is assumed to represent a valid MIME character set, which is used for all outgoing MIME messages sent by eezzmmllmm--ggeett and the message moderation programs. The character set string may be suffixed with ’:’ and ’Q’ or ’B’ to send all outgoing text (ezmlm messages, digest table-of-contents, moderation requests, etc) encoded in ‘‘Quoted-Printable’’ or ‘‘base64’’ encoding. By default, no encoding is done, which may result in the transmission of characters with the high bit set. When encoding is specified, trigger messages and other parts of the reply that should not be encoded are sent as separate MIME parts. _d_i_r//lloocckk is an empty file. Any program that reads or writes the sub- scriber list, or adds messages to the archive, locks _d_i_r//lloocckk. _d_i_r//LLoogg is an advisory log of subscription and unsubscription actions. WWAARRNNIINNGG:: LLoogg is not protected against system crashes. Log entries may be missing or corrupted if the system goes down. There is Log for each of the accessory address databases as well. Thus, the log for digest subscribers is _d_i_r//ddiiggeesstt//LLoogg. If enabled, these logs can be retrieved by remote administrators (see eezzmmllmm--mmaannaaggee((11))). _d_i_r//ddiiggeesstt contains items specific for the digest list. _d_i_r//ddiiggeesstt//ssuubbssccrriibbeerrss contains hash files of digest subscriber addresses. _d_i_r//ddiiggeesstt//LLoogg, _d_i_r//ddiiggeesstt//bboouunnccee, _d_i_r//ddiiggeesstt//lloocckkbboouunnccee, and _d_i_r//ddiiggeesstt//lloocckk have functions for the digest list that mirror that of the corresponding files in _d_i_r. _d_i_r//ssqqll contains SQL server access information for list that are con- figured to use an SQL database for storage. _d_i_r//ttssttddiigg is a timestamp used temporarily by eezzmmllmm--ttssttddiigg((11)) to coor- dinate digesting. SSEEEE AALLSSOO ezmlm-check(1), ezmlm-clean(1), ezmlm-gate(1), ezmlm-get(1), ezmlm- idx(1), ezmlm-issub(1), ezmlm-issubn(1), ezmlm-list(1), ezmlm-make(1), ezmlm-manage(1), ezmlm-moderate(1), ezmlm-request(1), ezmlm-return(1), ezmlm-send(1), ezmlm-store(1), ezmlm-sub(1), ezmlm-tstdig(1), ezmlm- unsub(1), ezmlm-warn(1), dot-qmail(5) ezmlm(5)