ezmlm-make(1) ezmlm-make(1) NNAAMMEE ezmlm-make - create a new mailing list SSYYNNOOPPSSIISS eezzmmllmm--mmaakkee [ --++ ][ --aa....zzAABBDD....ZZ ][ --CC0033....99 aarrgg ] _d_i_r [ _d_o_t _l_o_c_a_l _h_o_s_t _[_d_i_g_e_s_t_c_o_d_e_] ] DDEESSCCRRIIPPTTIIOONN eezzmmllmm--mmaakkee sets up a new mailing list, _l_o_c_a_l@@_h_o_s_t, along with several extra addresses to handle administrative requests. All mailing list information is stored in a new directory, _d_i_r. _d_i_r must be an absolute pathname, starting with a slash. _d_o_t must be an absolute file name starting with a slash. Arguments other than _d_i_r may be omitted when editing an existing list, using the --ee or --++ options (see below). eezzmmllmm--mmaakkee is controlled by a template, ..eezzmmllmmrrcc. Described here is the behavior with the default template file. eezzmmllmm--mmaakkee will print a warning message before continuing, if the ezmlmrc version does not match the eezzmmllmm--mmaakkee version. eezzmmllmm--mmaakkee aallssoo ccrreeaatteess _d_i_r//ccoonnffiigg, where it stores all configuration information. By reading this file, you can rapidly get information about how the list is set up. eezzmmllmm--mmaakkee when used with the --ee switch will read information from this file. Thus, when using eezzmmllmm--mmaakkee --ee, you only need to specify the desired switches and switch arguments and _d_i_r. With the --++ switch all switches become sticky, i.e. the default for all switches (and command line arguments) becomes the switches and arguments active for the list to be edited. Note that the choice of config file also is sticky, except when running eezzmmllmm--mmaakkee as root. eezzmmllmm--mmaakkee sets up four ..qqmmaaiill files: _d_o_t, _d_o_t--oowwnneerr, _d_o_t--rreettuurrnn-- ddeeffaauulltt, and _d_o_t--ddeeffaauulltt. You should make sure that messages to _l_o_c_a_l@@_h_o_s_t, _l_o_c_a_l--oowwnneerr@@_h_o_s_t, etc. are controlled by these ..qqmmaaiill files. For message moderated lists, eezzmmllmm--mmaakkee sets up two additional ..qqmmaaiill files: _d_o_t--aacccceepptt--ddeeffaauulltt and _d_o_t--rreejjeecctt--ddeeffaauulltt. For digested lists, eezzmmllmm--mmaakkee sets up another two ..qqmmaaiill file: _d_o_t-- ddiiggeesstt--rreettuurrnn--ddeeffaauulltt and _d_o_t--ddiiggeesstt--oowwnneerr. If _d_i_g_e_s_t_c_o_d_e is specified, digest creation by eezzmmllmm--ggeett((11)) via trigger messages to the _l_o_c_a_l//@@_h_o_s_t--ddiigg.._d_i_g_e_s_t_c_o_d_e address is enabled. By default, eezzmmllmm--mmaakkee sets up lists to add a ‘‘X-No-Archive: yes’’ header to outgoing messages. Public archiving servers will interpret this header as a request not to archive messages from the list. It this in not what you desire, remove this header from eezzmmllmmrrcc for global effects, or from _d_i_r//hheeaaddeerraadddd for the specific list. Typical use of eezzmmllmm--mmaakkee by a normal user: ezmlm-make ~joe/SOS ~joe/.qmail-sos joe-sos isp.net Typical use of eezzmmllmm--mmaakkee by aalliiaass: ezmlm-make ~alias/SOS ~alias/.qmail-sos sos isp.net chown -R alias ~alias/SOS Typical use of eezzmmllmm--mmaakkee by a normal user enabling automatic digests: ezmlm-make -d ~joe/SOS ~joe/.qmail-sos joe-sos isp.net Typical use of eezzmmllmm--mmaakkee to change an existing list in ~joe/SOS to a message moderated list with remote administration, and enabling the remote administrator(s) to retrieve a subscriber list and to edit _d_i_r//tteexxtt files (digest are still enabled): ezmlm-make -emrldn ~joe/SOS Mail can arrive at any time! For safe editing, turn on the sticky bit of the home directory before editing the list setup, then turn it off again (see ddoott--qqmmaaiill((55))). Moderator addresses are added with ezmlm-sub ~joe/SOS/mod mod1@host1 mod2@host2 ... eezzmmllmm--mmaakkee also creates the necessary text files in _d_i_r//tteexxtt//. eezzmmllmm--mmaakkee has a large number of switches to control all aspects of list generation. Only defaults or a small subset of switches are nec- essary for most list setups. Other options are present primarily to allow a external CGI script or other graphical user interface to use eezzmmllmm--mmaakkee to manipulate ezmlm list setups. VVIIRRTTUUAALL DDOOMMAAIINNSS For virtual domains, qqmmaaiill((55)) prefixes the name of the controlling user to the LOCAL part of the recipient address. eezzmmllmm((55)) needs to be informed of this in order to correctly interpret list commands. This is done by adjusting _d_i_r//iinnllooccaall. This adaptation is necessary only when ezmlm is used with qmail version 1.01 or earlier. To create the list ‘‘tl@virtual.dom’’ where ‘‘virtual.dom’’ is con- trolled by ‘‘vu’’ (virtual.dom:vu), change identity to ‘‘vu’’ or chown files to that user after: ezmlm-make ~vu/dir ~vu/.qmail-tl tl virtual.dom echo "vu-tl" > ~vu/inlocal Thus, create the list exactly as for a list under ‘‘alias’’, but adjust _d_i_r//iinnllooccaall to the list local name prefixed with the controlling user name. OOPPTTIIOONNSS All eezzmmllmm--mmaakkee letter switches except --vv and --VV are available for interpretation via _e_z_m_l_m_r_c. Switches --ee, --EE, --cc, and --CC have special meaning within the program. _e_z_m_l_m_r_c customization should respect the function of the switches described here. --++ Switches currently active for the list will be used, as modified by the current command line. Thus, --++ makes switches ‘‘sticky’’. By default, only switches specified on the current command line will be used. This switch implies --ee as it is meaningless except in edit mode. Note that the config file choice (see --cc and --CC) is also sticky. eezzmmllmmrrcc((55)) is set up so that most text files (and _D_I_R//hheeaaddeerraadddd, _D_I_R//hheeaaddeerrrreemmoovvee) are not overwritten if they already exist so as to preserve manual customizations. If _l_o_c_a_l is specified eezzmmllmm--mmaakkee overrides this behavior and all files are rewritten. You can also force eezzmmllmm--mmaakkee to rewrite all files by using --++++. --aa (Default.) Archived and configured with eezzmmllmm--ggeett((11)) for archive access. eezzmmllmm--mmaakkee will touch _d_i_r//aarrcchhiivveedd and _d_i_r//iinnddeexxeedd so that eezzmmllmm--sseenndd((11)) will archive new messages. --AA Not archived. --bb Block archive. Only moderators are allowed to access the archive. --BB (Default.) Archive access is open to anyone or subscribers only, depending on the --gg switch. --cc Config. Use _._e_z_m_l_m_r_c (see CONFIGURATION) from the directory where _d_o_t resides. eezzmmllmm--mmaakkee otherwise uses the system wide ezmlmrc file (normally /etc/ezmlmrc and if not found there, the ezmlmrc file in the ezmlm binary directory). The --cc switch may cause you to execute eezzmmllmm--mmaakkee based on a configuration file controlled by another user. eezzmmllmm--mmaakkee does not allow periods in any tag to restrict all actions to within _d_i_r. Be careful with this option setting up lists for other users, especially when running eezzmmllmm-- mmaakkee as root. --CC _a_r_g Like --cc, but use file _a_r_g as the ezmlmrc file. Use --CC _’_’ to over- ride a default when using --++ or --ee. --dd Digest. eezzmmllmm--mmaakkee will set up the _l_o_c_a_l--ddiiggeesstt@@hhoosstt digest list to disseminate digest of the list messages. By default, this is done when 30 messages, 48 hours, or 64 kbytes of message body text have accumulated since the last digest. Use the --44 switch to over- ride these defaults. See eezzmmllmm--ttssttddiigg((11)) and eezzmmllmm--ggeett((11)) for more info. --DD (Default.) No digest. Do not set up the digest list. --ee Edit. eezzmmllmm--mmaakkee will remove links before creating them and accept if directories to be created are already present. will also (via entries in _e_z_m_l_m_r_c) remove flags that are present but not desired for the current list. Thus, this option can be used to reconfigure existing lists without affecting moderator and sub- scriber lists or message archive. All desired eezzmmllmm--mmaakkee switches need to be specified. To make all switches sticky, i.e. only spec- ify the ones changed from the previous setup, use --++. Command line arguments other than _d_i_r can be omitted. In the unlikely case where _d_o_t is changed, you must manually remove the old links. Mail can arrive at any time! For safe editing, turn on the sticky bit of the home directory before using the edit function, then turn it off again (see ddoott--qqmmaaiill((55))). eezzmmllmmrrcc((55)) is set up so that most text files (and _D_I_R//hheeaaddeerraadddd, _D_I_R//hheeaaddeerrrreemmoovvee) are not overwritten if they already exist so as to preserve manual cus- tomizations. If _l_o_c_a_l is specified eezzmmllmm--mmaakkee overrides this behavior and all files are rewritten. You can also force eezzmmllmm-- mmaakkee to rewrite all files by using --eeee. --EE (Default.) No edit. eezzmmllmm--mmaakkee will abort if directories or links to be created already exist. This prevents accidental recon- figuration of a pre-existing list, since the first action is to create the list directory. --ff Prefix. eezzmmllmm--mmaakkee will set up the list so that the outgoing sub- ject will be prefixed with the list name. --FF (Default.) No prefix. --gg Guard archive. Archive access requests from unrecognized SENDERs will be rejected. This restriction is safe, since replies are sent to the SENDER address. --GG (Default.) Do not guard archive. Archive access request from any SENDER will be serviced. --hh Help subscription. Subscriptions do not require confirmation. Strongly recommended against, since anyone can subscribe any address, but may be useful for some subscription moderated lists. --HH (Default.) Subscription requires confirmation by reply to a mes- sage sent to the subscription address. --ii Indexed for WWW archive access. eezzmmllmm--mmaakkee will create the list so that eezzmmllmm--aarrcchhiivvee((11)) is invoked to maintain an index suitable for use by eezzmmllmm--ccggii((11)). --II (Default.) The list is created without eezzmmllmm--aarrcchhiivvee((11)). --jj Jump off. Unsubscribe does not require confirmation. Strongly rec- ommended against, since anyone can unsubscribe any address, but may be useful in some situations. --JJ (Default.) Unsubscribe requires confirmation by a reply to a mes- sage sent to the subscription address. --kk kill. eezzmmllmm--mmaakkee sets up _d_i_r//ddeennyy//. It sets up the list so that posts from addresses in _d_i_r//ddeennyy// are rejected. This is useful in combination with the --uu switch to temporarily restrain offenders, such as misconfigured auto-responders or automatic spammers. It can also be used in combination with --mm to filter out SENDERs from whom the moderators do not want to see posts (again, bad re-mail- ers and spammers come to mind). To add/remove blacklisted addresses: eezzmmllmm--ssuubb _d_i_r//ddeennyy _b_a_d_@_h_o_s_t eezzmmllmm--uunnssuubb _d_i_r//ddeennyy _b_a_d_@_h_o_s_t --KK (Default.) Not kill. _d_i_r//ddeennyy// is not created, and even if it exists, the contents will be ignored. --ll List subscribers. eezzmmllmm--mmaakkee sets up the list so that remote administrators can request a subscriber list, and search the sub- scriber log. --LL (Default.) The subscriber list cannot be obtained. --mm Message moderation. (Please note that the --uu sswwiittcchh mmooddiiffiieess the action of this switch.) eezzmmllmm--mmaakkee will touch _d_i_r//mmooddppoosstt and create _d_i_r//mmoodd// and _d_i_r//mmoodd//ssuubbssccrriibbeerrss//, where the moderator addresses are stored. eezzmmllmm--mmaakkee also creates _d_i_r//mmoodd//ppeennddiinngg//, _d_i_r//mmoodd//aacccceepptteedd//, and _d_i_r//mmoodd//rreejjeecctteedd//. These directories are used to queue messages awaiting moderation. _d_i_r//eeddiittoorr will be set up to run eezzmmllmm--ssttoorree((11)) to store incoming messages in the moderation queue and send moderation requests to the moderators. _d_i_r//mmooddeerraattoorr will be set up to run eezzmmllmm--mmooddeerraattee to process mod- erator _a_c_c_e_p_t or _r_e_j_e_c_t requests. To add/remove moderators: eezzmmllmm--ssuubb _d_i_r//mmoodd _m_o_d_e_r_a_t_o_r_@_h_o_s_t eezzmmllmm--uunnssuubb _d_i_r//mmoodd _m_o_d_e_r_a_t_o_r_@_h_o_s_t --MM (Default.) Message posting is not moderated. --nn New text file. eezzmmllmm--mmaakkee sets up the list to allow remote admin- istrators to edit files in _d_i_r//tteexxtt//. --NN (Default.) Not new text file. Text file editing not allowed. --oo Others rejected. Posts from addresses other than moderators are rejected. This is applicable to message moderated lists only (see --mm). The switch has no effect on other lists. --OO (Default.) Others not rejected. For moderated lists, all posts are forwarded to the moderators. The switch has effects only on message moderated lists. --pp (Default.) Public. eezzmmllmm--mmaakkee will touch _d_i_r//ppuubblliicc, so that eezzmmllmm--mmaannaaggee((11)) will respond to administrative requests and eezzmmllmm-- ggeett will allow archive retrieval. --PP Private. eezzmmllmm--mmaannaaggee((11)) and eezzmmllmm--ggeett((11)) will allow only digest creation, remote administration, and archive retrieval by remote administrators, (if the list is configured with these options). --qq ReQuest address is serviced. eezzmmllmm--mmaakkee will configure the list to process commands sent in the subject to _l_o_c_a_l--rreeqquueesstt@@_h_o_s_t. This is done by adding a eezzmmllmm--rreeqquueesstt((11)) line to _d_i_r//mmaannaaggeerr. --QQ (Default.) Do not process messages sent to the ‘‘request’’ address. --rr Remote admin. eezzmmllmm--mmaakkee enables remote administration by touch- ing _d_i_r//rreemmoottee. Moderator(s) can unsubscribe and subscribe any address. See the --mm option on how moderator addresses are stored and manipulated. --RR (Default.) No remote administration. --ss Subscription moderation. eezzmmllmm--mmaakkee enables subscription modera- tion by touching _d_i_r//mmooddssuubb. This affects subscriptions for both the main list and the digest list. See the --mm option on how mod- erator addresses are stored and manipulated. --SS (Default.) Subscriptions are not moderated. --tt Trailer. eezzmmllmm--mmaakkee will create _d_i_r//tteexxtt//ttrraaiilleerr to set up the list to add a trailer to outgoing messages. --TT No trailer. (Default.) --uu User posts only. eezzmmllmm--mmaakkee sets up the list so that posts and archive access is restricted to subscribers. These are addresses subscribed to the main list, the digest, or added manually to the address database in _d_i_r//aallllooww// which accommodates addresses from e.g. subscribers working from an address other than their sub- scriber address. Posts from unrecognized SENDER addresses will be rejected. This is relatively easily defeated for posts. More secure alternatives are message moderated lists configured with the eezzmmllmm--mmaakkee --mm switch (without the --uu switch). There is no reason to combine of SENDER checks on posts with mes- sage moderation. Therefore, the combination of the --uu switch with the --mm switch is used for a configuration with SENDER restrictions (like with --uu alone), with the difference that posts from non-sub- scribers will be sent for moderation instead of being rejected. This allows the list admin to let non-subscribers post occasion- ally, as well as to catch subscribers posting from non-subscriber addresses. --UU (Default.) Do not restrict posts based on SENDER address. --vv Display eezzmmllmm--mmaakkee version information. --VV Display eezzmmllmm--mmaakkee version information. --ww Remove the eezzmmllmm--wwaarrnn((11)) invocations from the list setup. It is assumed that eezzmmllmm--wwaarrnn((11)) for both _l_o_c_a_l_@_h_o_s_t and _l_o_c_a_l-- ddiiggeesstt@@_h_o_s_t will be run by other means, such as crond. If the list is set up with SQL support (see --66), restrict the list to a subset of addresses by adding the list name to the _d_i_r//ssqqll ,, _d_i_r//aallllooww//ssqqll ,, _d_i_r//ddiiggeesstt//ssqqll ,, configuration files. Useful only when setting up the main list for a large distributed list sup- ported by a SQL address database. Also, bounces will be handled by eezzmmllmm--rreecceeiipptt((11)) rather than eezzmmllmm--rreettuurrnn((11)). As the main list will have only sublists as subscribers, it is desirable to log bounces and feedback messages rather than to remove a bouncing subscriber. --WW (Default.) No address restriction. Normal use of eezzmmllmm--wwaarrnn((11)) and eezzmmllmm--rreettuurrnn((11)). --xx eXtra. eezzmmllmm--mmaakkee will configure the list with a few extras: _d_i_r//mmiimmeerreemmoovvee will be configured to strip annoying mime parts such as excel spreadsheets, rtf text, html text etc from the mes- sages. Messages consisting solely of this Content-type will be rejected. See eezzmmllmm--sseenndd((11)) and eezzmmllmm--rreejjeecctt((11)) for more info. --00 _m_a_i_n_l_i_s_t_@_h_o_s_t Make the list a sublist of list _m_a_i_n_l_i_s_t_@_h_o_s_t. --33 _f_r_o_m_a_r_g eezzmmllmm--mmaakkee sets up the list to replace the ‘‘From:’’ header of the message with ‘‘From: _f_r_o_m_a_r_g’’. --44 _t_s_t_d_i_g_o_p_t_s eezzmmllmm--mmaakkee replaces the eezzmmllmm--ttssttddiigg((11)) switches used for digest generation with the text in _t_s_t_d_i_g_o_p_t_s. This is part of a command line, NOT a specific switch. It should normally be placed within single quotes. This switch is mainly for programmatic use. For changing list defaults, it is usually easier to create a custom _~_/_._e_z_m_l_m_r_c file and edit it. The default is ’-t24 -m30 -k64’. (See eezzmmllmm--ttssttddiigg((11)) for more info.) --55 _o_w_n_e_r_@_h_o_s_t eezzmmllmm--mmaakkee will configure the list to forward mail directed to the list owner to _o_w_n_e_r_@_h_o_s_t. --66 _h_o_s_t_:_p_o_r_t_:_u_s_e_r_:_p_a_s_s_w_o_r_d_:_d_a_t_a_b_:_t_a_b_l_e SQL connect info. Use the sql _h_o_s_t (default localhost), connecting to _p_o_r_t (default port for SQL server) as _u_s_e_r with _p_a_s_s_w_o_r_d using database _d_a_t_a_b (default ezmlm) and the table root name _t_a_b_l_e (default ezmlm) This will have no effect unless the ezmlm programs are compiled with SQL support. --77 _/_m_s_g___m_o_d___p_a_t_h Make _/_p_a_t_h the path to the database for message moderators, if the list is set up for message moderation. _/_m_s_g___m_o_d___p_a_t_h must be an absolute pathname, starting with a slash. If not, it will be ignored. --88 _/_s_u_b___m_o_d___p_a_t_h Make _/_s_u_b___m_o_d___p_a_t_h the path to the database for subscription mod- erators, if the list is set up for subscription moderation. _/_s_u_b___m_o_d___p_a_t_h must be an absolute pathname, starting with a slash. If not, it will be ignored. --99 _/_r_e_m___a_d_m___p_a_t_h Make _/_p_a_t_h the path to the database for remote administrators, if the list is set up for remote administration. _/_r_e_m___a_d_m___p_a_t_h must be an absolute pathname, starting with a slash. If not, it will be ignored. LLIISSTT EEDDIITTIINNGG When eezzmmllmm--mmaakkee is used with the --ee switch, and the list was previously created or edited with a new (ezmlm-idx >= 0.23) version of eezzmmllmm--mmaakkee, all arguments other than _d_i_r can be omitted. In this case, arguments will be read from _d_i_r//ccoonnffiigg. The appropriate flags must always be specified. To override _d_o_t, _l_o_c_a_l, _h_o_s_t, or _c_o_d_e, all arguments must be specified. CCOONNFFIIGGUURRAATTIIOONN This version of eezzmmllmm--mmaakkee is template driven. The template file con- sists of plain text with four types of tags. Both start in the first position of the line. No other text is allowed on the same line. For security reasons, no periods are allowed anywhere in a tag. Any line with a ‘‘#’’ in position 1 is ignored, as is any text preceding the first tag. <> The following text will be copied to _d_i_r//ffiilleennaammee if the options specified after the ‘‘#’’ are active, in this case _a_r_c_h_i_v_e_d and not _i_n_d_e_x_e_d. Any number of flags can be specified. This is used to adapt the files and messages to the type of list created. If no flags are used, the ‘‘#’’ can be omitted. If the file name is the same as the previous tag, or if it is omitted, the text will be added to the previous file. When a new file is opened the previous file is closed. Attempts to add more text to a already closed file overwrites its contents. An alternative to specify that a flag, e.g. ‘‘4’’ should not be active is to prefix the switch with ‘‘^’’, e.g. use ‘‘^4’’. The ‘‘E’’ flag is treated in a special manner. When the list is being edited, it evaluates to false if the file already exists, true if it does not. Thus, files using this condition are not overwritten when editing. This is useful for files that you fre- quently customize manually. <> _d_i_r//ffiilleennaammee will be erased, if the options after the ‘‘#’’ are active, in this case _n_o_t _a_r_c_h_i_v_e_d and _e_d_i_t. <> The directory ‘‘directory’’ is created if the flags specified are active, in this case _a_r_c_h_i_v_e_d and not _i_n_d_e_x_e_d. If no flags are specified, the ‘‘#’’ can be omitted. <> ddoott_-_l_i_n_k is symlinked to _d_i_r_/_d_i_r_e_c_t_o_r_y if the flags specified are active, in this case _a_r_c_h_i_v_e_d and not _i_n_d_e_x_e_d. If no flags are specified, the ‘‘#’’ can be omitted. In addition, _l_o_c_a_l is substituted for <<##LL##>>, the part of _d_o_t between the first 2 hyphens (if any) for <<##11##>>, the part of _d_o_t between the second and third hyphen (if any) for <<##22##>>, _h_o_s_t for <<##HH##>>, _d_i_r for <<##DD##>>, _d_o_t for <<##TT##>>, _d_i_g_e_s_t_c_o_d_e for <<##CC##>>, the set of all active flags for <<##FF##>>, the config file used for <<##XX##>>, and the path to the eezzmmllmm binaries for <<##BB##>> anywhere in the text. Other tags of this format are copied to the files as is. <<##ll##>>, <<##hh##>>, <<##nn##>>, <<##AA##>>, <<##RR##>>, will be substituted on-the-fly where appropriate for the _l_o_c_a_l or _l_o_c_a_l--ddiiggeesstt local part of the list address, the _h_o_s_t, the subscriber address or the moderation accept address, the message number, and the subscription reply address or mod- eration reject address, respectively. The use of <<##ll##>> is to allow the same text file to be used for requests pertaining to both the main list and the digest list. <<##hh##>> makes it possible to share some files between lists. <<##nn##>> is defined only by programs where this makes sense, i.e. eezzmmllmm--sseenndd((11)) and eezzmmllmm--ggeett((11)) In the absence of --ee and --++ switches, eezzmmllmm--mmaakkee will create the list directory before processing the template file, and create _d_i_r//kkeeyy after all other actions. eezzmmllmm--mmaakkee will use //eettcc//eezzmmllmmrrcc and if not found eezzmmllmmrrcc in the ezmlm binary directory. This can be overridden with the --cc and --CC switches. BBUUGGSS eezzmmllmm--mmaakkee deals with the template file as us-ascii. Any occurrence of the characters ‘‘’’ with with ’X’ being any digit, ’B’, ’C’, ’D’, ’F’, ’H’, ’L’, or ’T’ will be substituted by eezzmmllmm--mmaakkee. Any occurrence of a tag of this format with ’X’ being ’h’, ’l’, ’A’, or ’R’ will be substituted by eezzmmllmm--ssttoorree and eezzmmllmm--mmaannaaggee at run time. eezzmmllmm--sseenndd will substitute tags with ’h’ and ’l’, and tags with ’n’ will be replaced by the current message number. eezzmmllmm--ggeett will substitute tags ‘‘<#h#>’’, ‘‘<#l#>’’ in the same way. The tag ‘‘<#n#>’’ will be replaced by the digest message number which is the number of the first message in the digest. In practice, these character sequences are unlikely to occur in any multi-byte character set text. They also will not occur by chance in single-byte character sets where ’<’, ’/’, and ’#’ retain their us- ascii codes. BBUUGGSS eezzmmllmm--mmaakkee cannot deal with ezmlmrc lines containing NUL (they will be truncated at the NUL). This needs to be fixed to make it 8-bit clean. SSEEEE AALLSSOO ezmlm-clean(1), ezmlm-get(1), ezmlm-manage(1), ezmlm-moderate(1), ezmlm-send(1), ezmlm-store(1), ezmlm-sub(1), ezmlm-unsub(1), ezmlm(5) ezmlm-make(1)