ezmlm-manage(1) ezmlm-manage(1) NNAAMMEE ezmlm-manage - automatically manage a mailing list SSYYNNOOPPSSIISS eezzmmllmm--mmaannaaggee [[--bbBBccCCddDDeeEEffFFllLLmmMMssSSqqQQuuUUvvVV]] _d_i_r DDEESSCCRRIIPPTTIIOONN eezzmmllmm--mmaannaaggee handles administrative requests for the mailing list stored in _d_i_r, as well as for the associated digest list. eezzmmllmm--mmaannaaggee is normally invoked from a ..qqmmaaiill file. It reads a mail message from its standard input, and a mail envelope from the SSEENNDDEERR, LLOOCCAALL, and HHOOSSTT environment variables. eezzmmllmm--mmaannaaggee expects LLOOCCAALL to be of the form _l_i_s_t--_a_c_t_i_o_n--_b_o_x==_d_o_m_a_i_n. Here _l_i_s_t is the first line of _d_i_r//iinnllooccaall, _a_c_t_i_o_n is a request, and _b_o_x@@_d_o_m_a_i_n is the target of the request. eezzmmllmm--mmaannaaggee sends a response to the target. It attaches the original message to the end of its response. LLOOCCAALL may instead be of the form _l_i_s_t--_a_c_t_i_o_n. Then the envelope sender is used as the target. eezzmmllmm--mmaannaaggee expects HHOOSSTT to match the first line of _d_i_r//iinnhhoosstt. If _l_i_s_t is the first line of _d_i_r//iinnllooccaall followed by ‘‘-digest’’, the request is assumed to be for the associated digest list. eezzmmllmm--mmaannaaggee handles these requests similarly, except that digest list subscriber addresses are stored in _d_i_r//ddiiggeesstt//ssuubbssccrriibbeerrss, rather than in _d_i_r//ssuubb-- ssccrriibbeerrss. If _l_i_s_t _d_i_r//iinnllooccaall followed by ‘‘-allow’’, the request is assumed to be for the associated _d_i_r//aallllooww// database. This database is used to store aliases of subscribers for lists allowing only posts only if the envelope sender is a subscriber. Actions on the _d_i_r//aallllooww// database follow the same rules as for the main list. The ezmlm messages are the same as those used for normal subscription, but refer to the _l_i_s_t-- aallllooww@@_h_o_s_t list. As this feature is designed for advanced uses and remote administrators only, this is not a problem. NNOOTTEE:: No message is sent out to confirm additions to or removals from this database. How- ever, the user can verify the change using the _q_u_e_r_y action. The _l_i_s_t-- ddeennyy addresses similarly controls _d_i_r//ddeennyy// database for blocking posts with certain envelope senders. This database is available to remote administrators only, and only if the list has been set up with this feature (see eezzmmllmm--mmaannaaggee((11))). NNOOTTEE:: No message is sent out to confirm additions to or removals from this database. However, the remote admin can verify the change using the _q_u_e_r_y action. eezzmmllmm--mmaannaaggee copies _d_i_r//mmaaiilliinngglliisstt into a MMaaiilliinngg--LLiisstt field in its response. If the incoming message has a MMaaiilliinngg--LLiisstt field, eezzmmllmm--mmaann-- aaggee refuses to respond. eezzmmllmm--mmaannaaggee also refuses to respond to bounce messages. OOPPTTIIOONNSS --bb (Default.) eezzmmllmm--mmaannaaggee will add general instructions and the request to the outgoing message. --BB eezzmmllmm--mmaannaaggee will not add general instructions and the request to the outgoing message. This information gives the recipient of a confirmation request some information about the inciting message. Use of this switch will deny the recipient that information. --cc (Default.) eezzmmllmm--mmaannaaggee will reply to _-_g_e_t commands. --CC eezzmmllmm--mmaannaaggee will not reply to _-_g_e_t commands. This is useful for closed lists, where the owner for some reason wants to keep an archive, without making it available. --dd Alias for the --ee switch for backwards compatibility. --DD Alias for the --EE switch for backwards compatibility. --ee eezzmmllmm--mmaannaaggee allows remote administrators to edit files in _d_i_r//tteexxtt// via E-mail. --EE (Default.) Text file editing not allowed. --ff (Default.) The information in the ‘‘From:’’ is extracted from subscribe confirm messages and added to _d_i_r//LLoogg together with the subscriber address. This makes it easier for the list owner to help a subscriber who cannot determine his/her subscription address. If the --SS switch is used, the information is instead extracted from the subscribe request. --FF Ignore ‘‘From:’’ headers. --ll eezzmmllmm--mmaannaaggee will send a subscriber list in reply to the _-_l_i_s_t command and the number of subscribers in reply to the _-_l_i_s_t_n com- man if _d_i_r//mmooddssuubb or _d_i_r//rreemmoottee exist and target (the address the reply is to be sent to) is a moderator. --LL (Default.) eezzmmllmm--mmaannaaggee will ignore the _-_l_i_s_t and _-_l_i_s_t_n com- mands. --mm For lists with moderated subscription, require moderator approval also for unsubscribe requests. Remote admins are normally informed about unsuccessful unsubscribes. This creates problems when there is more than one moderator. Therefore, when the --mm switch is used, the notification is suppressed. Moderators can still determine the result by using the _-_q_u_e_r_y command. --MM (Default.) Requests to unsubscribe from moderated lists do not require moderator approval. _-_n (Default.) Target addresses will be notified if the are added or removed from the subscriber list. _-_N Target addresses will not be notified if they are added/removed from the subscriber list by remote admin or moderator action. Also, the target will not be notified if they were successfully added/removed when the --SS and --UU switches, respectively, are used. --qq (Default.) Quiet. The list-owner is not notified of subscription events. --QQ The list-owner is notified about failed unsubscribe attempts. Usu- ally, these are from subscribers that do not remember their sub- scription address and require administrative assistance. Remote admins are notified when a unsubscribe request initiated by them fails. Thus, the owner is not notified about these events even if the --QQ switch is used. --QQQQ As for --QQ, and in addition, the list-owner is notified about all additions to or removals from the subscriber database. This is sometimes desired by owners of small lists. --ss (Default.) eezzmmllmm--mmaannaaggee will handle subscriptions with the normal target handshake. --SS eezzmmllmm--mmaannaaggee will eliminate the target handshake from the sub- scription process. This allows anyone to subscribe anybody else. DO NOT use this option, unless you know what you are doing. This option may be useful for some moderated lists. --uu (Default.) eezzmmllmm--mmaannaaggee will handle unsubscribe requests with the normal target handshake. --UU eezzmmllmm--mmaannaaggee will eliminate the target handshake from the unsub- scription process. This allows anyone to unsubscribe anybody else. DO NOT use this option, unless you know what you are doing. --vv Display eezzmmllmm--mmaannaaggee version information. --VV Display eezzmmllmm--mmaannaaggee version information. CCHHAARRAACCTTEERR SSEETTSS If _d_i_r//cchhaarrsseett exists, eezzmmllmm--mmaannaaggee will use the character set listed for all messages. Otherwise, the default ‘‘us-ascii’’ will be used. The character set can be suffixed by ‘‘:’’ followed by a code. If the code is ‘‘Q’’, outgoing messages are sent as ‘‘Quoted-Printable’’, if it is ‘‘B’’ they are sent ‘‘base64’’ encoded. Otherwise, text is sent as is. Incoming text for the _-_e_d_i_t is accepted unencoded or in either of these encodings. SSUUBBSSCCRRIIPPTTIIOONNSS If _a_c_t_i_o_n is sscc.._c_o_o_k_i_e, where _c_o_o_k_i_e is an appropriate code (depending on the target, the approximate time, and other factors), eezzmmllmm--mmaannaaggee adds the target to the mailing list if subscriptions are not moderated. For subscription moderated lists, eezzmmllmm--mmaannaaggee sends a confirmation request to the moderators with the right ttcc.._c_o_o_k_i_e address in its response. If _a_c_t_i_o_n is ttcc.._c_o_o_k_i_e, where _c_o_o_k_i_e is an appropriate code (depending on the target, the approximate time, and other factors), eezzmmllmm--mmaannaaggee adds the target to the mailing list. If the target was not already a subscriber, a welcome message is sent to the target. If _a_c_t_i_o_n is ssuubbssccrriibbee, eezzmmllmm--mmaannaaggee does not subscribe the target, but it identifies the right sscc.._c_o_o_k_i_e address in its response. This confirmation mechanism (1) verifies that the target is reachable and (2) protects the target against forged subscription requests. Actions of uucc.._c_o_o_k_i_e and uunnssuubbssccrriibbee are used in the same way to delete the target from the mailing list. Unsubscribes do not require modera- tor confirmation. Actions of vvcc.._c_o_o_k_i_e are used to confirm moderator-initiated unsub- scribes for lists configured with remote administration (see MODERA- TION). If _a_c_t_i_o_n is qquueerryy, eezzmmllmm--mmaannaaggee returns a message to the target indi- cating whether or not the target address is a subscriber. If _a_c_t_i_o_n is iinnffoo or ffaaqq, eezzmmllmm--mmaannaaggee returns the contents of _d_i_r//tteexxtt//iinnffoo or _d_i_r//tteexxtt//iinnffoo, respectively. If _d_i_r//ppuubblliicc does not exist, eezzmmllmm--mmaannaaggee rejects all subscription and unsubscription attempts. However, if the list is configured with remote administration, moderator-initiated subscribe and unsubscribe requests will still be honored. Also, if _a_c_t_i_o_n is _h_e_l_p, eezzmmllmm--mmaannaaggee will still send help. TTEEXXTT FFIILLEE EEDDIITTIINNGG If _a_c_t_i_o_n is eeddiitt, the --ee switch is used, and the target address is that of a remote administrator, eezzmmllmm--mmaannaaggee will reply with a list of editable file in _d_i_r//tteexxtt// and instructions for editing. Cookies for editing expire approximately 27.8 hours after they are issued, or when a file has been changed, whichever is sooner. The size of the updated file is limited to 5120 bytes. If _a_c_t_i_o_n is eeddiitt.._f_i_l_e, the --ee switch is used, and the target address is that of a remote administrator, eezzmmllmm--mmaannaaggee will return an editable copy of _f_i_l_e. If _a_c_t_i_o_n is eedd.._c_o_o_k_i_e, eezzmmllmm--mmaannaaggee will verify that the edit cookie is still valid and that the file has not been modified since the cookie was issued. If the cookie passes these tests, eezzmmllmm--mmaannaaggee will update _d_i_r//tteexxtt_/_f_i_l_e. AARRCCHHIIVVEE RREETTRRIIEEVVAALLSS If _a_c_t_i_o_n is ggeett.._n_u_m, eezzmmllmm--mmaannaaggee sends back message _n_u_m from _d_i_r//aarrcchhiivvee//. This can be disabled with the --CC command line switch. If _d_i_r//ppuubblliicc does not exist, eezzmmllmm--mmaannaaggee rejects all archive retrieval attempts. MMOODDEERRAATTIIOONN If _d_i_r//mmooddssuubb exists, subscriptions are moderated. Users can unsub- scribe without moderator action, but moderator confirmation is required for subscriptions. If _d_i_r//mmooddssuubb starts with a forward slash, it is assumed that the con- tent this is the base directory for the moderator database ( _m_o_d_d_i_r). Otherwise, _m_o_d_d_i_r is assumed to be _d_i_r//mmoodd//. The moderator names are assumed to be stored in a set of files in _/_m_o_d_- _d_i_r//ssuubbssccrriibbeerrss//. I to add, remove, and list moderators, use respectively: eezzmmllmm--ssuubb _m_o_d_d_i_r _u_s_e_r_@_h_o_s_t eezzmmllmm--uunnssuubb _m_o_d_d_i_r _u_s_e_r_@_h_o_s_t eezzmmllmm--lliisstt _m_o_d_d_i_r Subscription requests from potential subscribers will be sent for a second round of confirmation to all the moderators. If a moderator approves the request, a message confirming the subscription will be sent to the subscriber. The subscriber will not know which moderator approved the subscription. If more than one moderator replies to the confirmation request, the subscriber will not receive duplicate messages about being on (or not on) the mailing list. Unsubscribe requests from users are handled as for non-moderated lists. All subscribe confirmation requests requiring moderator action have a subject of CCOONNFFIIRRMM ssuubbssccrriibbee ttoo _l_i_s_t_n_a_m_e_@_h_o_s_t_. All unsubscribe confir- mation requests in reply to moderator-initiated unsubscribe dialogs have a subject of CCOONNFFIIRRMM uunnssuubbssccrriibbee ffrroomm _l_i_s_t_n_a_m_e_@_h_o_s_t_. If _d_i_r//rreemmoottee exists (remote administration), moderators can initiate a request to subscribe a user ’username@userhost’ by sending mail to _l_i_s_t_n_a_m_e_-_s_u_b_s_c_r_i_b_e--uusseerrnnaammee==uusseerrhhoosstt_@_h_o_s_t. The moderator (not the sub- scriber) will receive the confirmation request, and can complete the transaction. Moderators’ request to unsubscribe users are handled analogously. Once an address is successfully added to or removed from the subscriber database by a moderator or remote admin, the user is notified of the action. If a moderator or remote admin’s subscribe con- firmation does not result in a change, i.e. if the address already was a subscriber, no notification is sent. If a remote admin’s unsubscribe confirmation does not result in a change, i.e. the address was not a subscriber, a notification is sent to the remote admin. This is to make the remote admin aware that the address unsubscribed most likely is not the subscriber’s subscription address. _d_i_r//rreemmoottee starts with a forward slash, it is assumed that the content this is the base directory for the moderator database ( _m_o_d_d_i_r). The moderator names are assumed to be stored in a set of files in _/_m_o_d_- _d_i_r//ssuubbssccrriibbeerrss//. If both _d_i_r//mmooddssuubb and _d_i_r//rreemmoottee exist, and both contain directory names, the directory name in _d_i_r//mmooddssuubb is used, and the _d_i_r//rreemmoottee entry is ignored. It is possible to set up a mailinglist for moderators only by using _d_i_r//mmoodd// as the list directory. Make sure that such a list is not pub- lic! Otherwise, anyone can become a moderator by subscribing to this list. If action is --hheellpp and target is a moderator, eezzmmllmm--mmaannaaggee will in addition to the usual help send _d_i_r//tteexxtt//mmoodd--hheellpp containing instruc- tions for moderators. If action is --lliisstt and target is a moderator, the list is set up for subscription moderation or remote administration, and the _-_l command line switch is used, eezzmmllmm--mmaannaaggee will reply with an unsorted sub- scriber list. Extensions for digest subscribers and auxillary databases are supported (see above). If action is --lloogg, eezzmmllmm--mmaannaaggee will reply with the contents of the _L_o_g file with the same access restrictions as for the --lliisstt action. SSEEEE AALLSSOO ezmlm-make(1), ezmlm-return(1), ezmlm-send(1), ezmlm-sub(1), ezmlm- unsub(1), ezmlm-list(1), ezmlm(5), qmail-command(8) ezmlm-manage(1)