|top||Introducing ezmlm. This is placed at the top of each response.|
|bottom||Explaining how to use ezmlm. This is placed at the bottom of each response.|
|sub-confirm||Explaining how to confirm a subscription request.|
|sub-ok||Acknowledging successful subscription.|
|sub-nop||Acknowledging a subscription request for an address already on the mailing list.|
|sub-bad||Rejecting a bad subscription confirmation number.|
|unsub-confirm||Explaining how to confirm an unsubscription request, and explaining how to figure out the subscription address.|
|unsub-ok||Acknowledging successful unsubscription.|
|unsub-nop||Acknowledging an unsubscription request for an address not on the mailing list.|
|unsub-bad||Rejecting a bad unsubscription confirmation number.|
|get-bad||Rejecting a bad archive retrieval request.|
|digest||Text copied into the Administrativia section of the digest. Usually, this will contain subscription info for the digest, as well as information on how to post to the list.|
|trailer||If this files exists, it is copied to the end of all messages to the list.|
|faq||Sent in response to the faq command. Usually contains frequently asked questions and answers specific for the mailing list.|
|info||Sent in response to the info command. Usually contains a descripition, policy, etc, for the list. The first line should in itself be a very brief description of the list.|
|help||General help in response to a misdirected or misspelled request.|
|bounce-warn||Pointing out that messages have bounced.|
|bounce-probe||Pointing out that a warning message has bounced.|
|bounce-num||Explaining that ezmlm-return has kept a list of bounced message numbers.|
|dig-bounce-num||Explaining that digest messages have bounced. All other text files are used for both the main list and the digest list.|
|bounce-bottom||Separating the bounce message.|
|mod-help||is set to list moderators issuing a -help command. It contains instructions for moderators, but it is relatively trivial for a non-moderator to read it. Dont put secrets here.|
|mod-reject||is the returned to the sender of a rejected post.|
|mod-timeout||is returned if the message timed-out without moderator action.|
|mod-sub||is added to the text confirming subscription and unsubscription instead of bottom and the requesting message, for actions that were approved by a moderator. Not copying the requesting message hides the moderator identity from the subscriber.|
|mod-request||is the text sent to the moderators to request moderator action on a posted message.|
|mod-sub-confirm||Requesting that the moderator confirm a request to subscribe. If this file does not exist, sub-confirm will be used.|
|Requesting that the moderator confirm a request to unsubscribe. If this file does not exist, unsub-confirm will be used.|
|post-confirm||Requesting that the sender confirms that a posted message did originate from them.|
|edit-do||Instructions sent to the remote administrator together with a copy of a dir/text file and editing instructions.|
|edit-list||A list of editable files in dir/text with a one-line description send to a remote administrator in response to a -edit command.|
|edit-done||Sent to the remote administrator after an edited dir/text file has been successfully saved.|
Several tags in the text files are replaced by ezmlm programs. Tags may appear anywhere on a line and multiple tags may appear on the same line.
The subscription target address is the address that has requested subscription to or unsubscription from the list in ezmlm-manage. The same tag is used in ezmlm-store for the address to which a reply must be sent to accept the original post.
<#L#> The unmodified name of the list, as defined by dir/outlocal <#l#> The name of the list or the list-digest, as appropriate for the request. The use of <#l#> is to allow the same text file to be used for requests pertaining to both the main list and the digest list. <#H#> The hostname for the list, as defined by dir/outhost <#h#> The hostname for the list <#n#> The current message number in ezmlm-send, and the number of the first message in the digest in ezmlm-get <#A#> The moderation accept or (un)subscription target address (described below) <#a#> The local part of the moderation accept address <#t#> The subscription target address, with "@" replaced with "=" <#R#> The moderation reject or (un)subscription reply address (described below), equivalent to <#r#>@<#h#> <#r#> The local part of the reject or reply address, equivalent to <#l#>-<#c#> <#c#> The cryptographic "cookie" in the reject or reply address <#d#> dir
The subscription reply address is the address to which a reply must be sent to confirm a subscription in ezmlm-manage. The same tag is used in ezmlm-store for the address to which a reply may be sent to reject the original post.
For backwards compatibility, the lines !A and !R are replaced with the value of <#A#> and <#R#> respectively.
One of the text files, text/messages, has special handling. It is used when creating short messages within the ezmlm programs, such as error messages, subject lines, and several others. Each line of this file contains a message name and the contents of that message, separated by a colon. Individual messages are loaded from all three locations described above instead of just the first file that is found, allowing for partial sets of customizations. Additionally, the programs have an internal table of messages as a final fallback.
In addition to the substitions listed above, the tags <#1#> through <#9#> are used by certain messages for file names and other parameters specific to the message. The default messages in /etc/ezmlm/default/text/messages should have a complete set of messages with all parameters used.
dir/headerkeep is a list of good header field names, one per line, and dir/headerremove is a list of bad header field names. If dir/headerkeep is present, ezmlm-send removes all header fields but those that are listed from outgoing messages; otherwise ezmlm-send removes the header fields listed in dir/headerremove from all outgoing messages. ezmlm-make sets up dir/headerremove to remove Return-Path, Return-Receipt-To, and Return-Path fields.
dir/headeradd is a list of new header fields. ezmlm-send adds these fields to every outgoing message. ezmlm-send sets up dir/headeradd to add X-No-Archive: yes and Precedence:bulk.
If dir/headerreject exists, and the ezmlm-reject dir argument is specified, messages containing any of the listed headers are rejected.
If dir/mimekeep exists, ezmlm-send removes parts except those with corresponding content-types from composite MIME messages. Otherwise, if dir/mimeremove exists, ezmlm-send removes parts with the corresponding content-types. If the ezmlm-reject dir argument is specified, messages consisting only of disallowed content-types are rejected.
If dir/mimereject exists, and the ezmlm-reject dir argument is specified, simple MIME messages of these content-types, or composite MIME messages with any body part of these content-types are rejected.
If dir/sequence exists, the first line is added as a header to all outgoing 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. NOTE: Sublists have their own message counter. Adding a sequence header from a sublists will give you the sublist message number which is different from the main list message number.
dir/prefix 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 dir/prefix contains a single #, this will be replaced by the message 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 problems to users, sublists, etc.
dir/text/trailer is a message trailer. If this file exists, its contents 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.
If the allow address list exists, ezmlm will allow any sender found in that list to post even if they are not subscribers. If the deny address list exists, ezmlm will block all senders found in that list from posting to the list. Addresses in either list that start with a @ will allow or deny all senders at the following domain name. Addresses can be added and removed from these lists similarly to the moderator examples above.
If dir/listid exists, ezmlm programs create a new List-ID field, showing the contents of the first line of dir/listid, 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 <unique_id.domain>
This header would result from a dir/listid file containing optional_text <unique_id.domain>. See RFC 2919 at http://www.ietf.org/rfc/rfc2919.txt for more info.
The first lines of dir/outlocal and dir/outhost give the outgoing name of the mailing list. These are used by ezmlm-manage and ezmlm-send to construct sender addresses for outgoing messages.
If dir/sublist exists, this mailing list is a sublist, redistributing messages from a parent mailing list. The first line of dir/sublist is the name of the parent list. This affects the behavior of ezmlm-send.
If dir/qmqpservers exists, all ezmlm programs will use qmail-qmqpc(1) to send messages. If qmail-qmqpc is modified correctly, server IP addresses listed one per line in dir/qmqpsevers will be tried in order, rather than the default servers specified in /var/qmail/control.
If dir/msgsize 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 ezmlm-reject command line specifies the list directory, messages not meeting the size criteria are rejected.
If dir/charset exists, the first line is assumed to represent a valid MIME character set, which is used for all outgoing MIME messages sent by ezmlm-get 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.
dir/lock is an empty file. Any program that reads or writes the subscriber list, or adds messages to the archive, locks dir/lock.
dir/Log is an advisory log of subscription and unsubscription actions. WARNING: Log 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 dir/digest/Log. If enabled, these logs can be retrieved by remote administrators (see ezmlm-manage(1) ).
If dir/omitbottom exists, will suppress the administrative information found in dir/text/bottom and the copy of the request that is normally copied into outgoing automatic responses. This may make it harder for the recipient to diagnose problems and learn commands.
dir/copylines specifies how many lines from the body of the original request to copy into outgoing automatic responses. If this file is not present or is empty, a value of 0 is used. In any case, the entire header is copied.
dir/digest contains items specific for the digest list.
dir/digest/subscribers contains hash files of digest subscriber addresses.
dir/digest/Log, dir/digest/bounce, dir/digest/lockbounce, and dir/digest/lock have functions for the digest list that mirror that of the corresponding files in dir.
dir/digheaders may contain a list of headers to include in the "m" format digests. Headers should be listed one per line not including the colon.
dir/digcount, dir/digsize, and dir/digtime control when ezmlm-tstdig will allow ezmlm-get to create a digest message. dir/tstdig is a timestamp used temporarily by ezmlm-tstdig to coordinate digesting.
dir/archnum contains the number of the last message processed by ezmlm-archive. Normally, ezmlm-archive will process entries for messages from one above the contents of this file up to an including the message number in dir/num. The default ezmlmrc template sets up ezmlm-archive to run only if the dir/threaded file exists.
If dir/noreturnposts exists, ezmlm-clean will not return timed-out posts to their senders.
If dir/nosubconfirm exists, ezmlm-manage will not require confirmation from the subscription target before subscribing it. Similarly, if dir/nounsubconfirm exists, ezmlm-manage will not require confirmation from the unsubscription target before unsubscribing it.
If dir/modgetonly exists, ezmlm-get will only allow moderators to retrieve data from the archive, even if dir/public exists. If dir/subgetonly exists, ezmlm-get will only allow subscribers to retrieve data from the archive.
If dir/nowarn exists, no warnings of any kind are sent by ezmlm-warn.
dir/key is a binary file used to create confirmation codes. Anyone who can guess the contents of dir/key can forge subscription requests. ezmlm-make does not put much effort into making dir/key difficult to guess; for better security, you should add some more secure random data to dir/key.
dir/flags contains the option flags that were passed to ezmlm-make when the list was created or last edited. It is used by programs that generate email messages to select which sections in text messages should be output. This is a new file introduced in version 5. Prior to this, the flags were stored in the first line of the dir/config file, along with other data.
dir/ezmlmrc contains the path to the directory in which the original ezmlmrc file was found. It is used to create alternate paths for text files.
ezmlm-archive(1), ezmlm-check(1), ezmlm-checksub(1), ezmlm-clean(1), ezmlm-gate(1), ezmlm-get(1), ezmlm-idx(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), ezmlm-weed(1), dot-qmail(5)