User Commands ezmlm-get(1) NNNNAAAAMMMMEEEE ezmlm-get - handles mailing list archive retrieval and dig- ests SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS eeeezzzzmmmmllllmmmm----ggggeeeetttt [ -bbbbBBBBccccCCCCppppPPPPssssSSSSvvvvVVVV ][ -ffff _f_o_r_m_a_t ] _d_i_r [ _d_i_g_e_s_t_c_o_d_e[_f] ] OOOOPPPPTTTTIIIIOOOONNNNSSSS -bbbb (Default.) Copy administrative information and the request to the bottom of replies. This informs the recipient of other commands, and allows some error tracking in case the recipient did not originate the request. -BBBB Suppress the normal administrative information and request copy. This may make it harder for the recipient to diagnose problems and learn commands. -cccc (Default.) Process and reply to commands (does not affect digests). -CCCC Ignore all commands except digest. -ffff _f_o_r_m_a_t eeeezzzzmmmmllllmmmm----ggggeeeetttt will use _f_o_r_m_a_t as the default format for all returned message collections. The default is 'm' for MIME with a header subset (see below). Format specif- iers send with individual requests override the default set with the -ffff switch. -pppp -get, -index, and -thread commands are available to all users, provided other flags are permissive. This over- rides normal behavior, which is to allow archive retrieval only to moderators, when _d_i_r////ppppuuuubbbblllliiiicccc does not exist. This is useful to set up non-public lists that still give users archive access. -PPPP -get, -index, and -thread commands are available only to moderators, even if _d_i_r////ppppuuuubbbblllliiiicccc exists. The -CCCC and -ssss flags can restrict this further. This is useful for public lists with archive retrieval restricted to a subset of users (moderators). -ssss -get, -index, and -thread requests are processed only if SSSSEEEENNNNDDDDEEEERRRR is a subscriber. -SSSS (Default.) Anyone can issue -get, -index, and -thread requests. -vvvv Print version info. -VVVV Print version info. SunOS 5.11 Last change: 1 User Commands ezmlm-get(1) DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN eeeezzzzmmmmllllmmmm----ggggeeeetttt handles archive retrieval and optionally makes and sends out digests for the mailing list stored in _d_i_r. Sub- scribers of the digest list are stored in _d_i_r////ddddiiiiggggeeeesssstttt////ssssuuuubbbbssssccccrrrriiiibbbbeeeerrrrssss////. The contents of _d_i_r////hhhheeeeaaaaddddeeeerrrraaaadddddddd are added to the header of outgoing messages. eeeezzzzmmmmllllmmmm----ggggeeeetttt is normally invoked from a ....qqqqmmmmaaaaiiiillll((((7777)))) file. It reads a mail message from its standard input, and a mail envelope from the SSSSEEEENNNNDDDDEEEERRRR, LLLLOOOOCCCCAAAALLLL, and HHHHOOOOSSSSTTTT environment vari- ables. eeeezzzzmmmmllllmmmm----ggggeeeetttt uses LLLLOOOOCCCCAAAALLLL to determine where it is invoked. If LLLLOOOOCCCCAAAALLLL is the list local name only, eeeezzzzmmmmllllmmmm----ggggeeeetttt assumes it is run from _d_i_r////eeeeddddiiiittttoooorrrr to produce a digest. The digest is sent directly to the digest list subscribers. If LLLLOOOOCCCCAAAALLLL is empty or undefined, eeeezzzzmmmmllllmmmm----ggggeeeetttt assumes it is run from the command line or a script. In this case it behaves as if run from _d_i_r////eeeeddddiiiittttoooorrrr and sends out a digest to the dig- est subscribers. Otherwise, eeeezzzzmmmmllllmmmm----ggggeeeetttt expects LLLLOOOOCCCCAAAALLLL to be of the form _l_i_s_t---- _a_c_t_i_o_n. Here _l_i_s_t is the first line of _d_i_r////iiiinnnnllllooooccccaaaallll and _a_c_t_i_o_n is a request. The output is sent to the envelope sender. eeeezzzzmmmmllllmmmm----ggggeeeetttt checks _a_c_t_i_o_n for ddddiiiigggg...._d_i_g_e_s_t_c_o_d_e, iiiinnnnddddeeeexxxx, tttthhhhrrrreeeeaaaadddd, and ggggeeeetttt. If _a_c_t_i_o_n is one of these, eeeezzzzmmmmllllmmmm----ggggeeeetttt handles the request and sends a reply. If successful, it exits 99 (ignore remaining ....qqqqmmmmaaaaiiiillll((((7777)))) file entries). If _a_c_t_i_o_n is not one of these, eeeezzzzmmmmllllmmmm----ggggeeeetttt exits 0 (success) to pass the mes- sage on to later handlers, such as eeeezzzzmmmmllllmmmm----mmmmaaaannnnaaaaggggeeee((((1111)))). eeeezzzzmmmmllllmmmm----ggggeeeetttt expects HHHHOOOOSSSSTTTT to match the first line of _d_i_r////iiiinnnnhhhhoooosssstttt. eeeezzzzmmmmllllmmmm----ddddiiiigggg...._d_i_g_e_s_t_c_o_d_e returns a digest of messages received since the last digest, unless numerical arguments are given. _d_i_g_e_s_t_c_o_d_e must be alphanumeric, and match (case- insensitive) _d_i_g_e_s_t_c_o_d_e on the eeeezzzzmmmmllllmmmm----ggggeeeetttt command line. Oth- erwise, the request will be ignored. This is to restrict digest creation. The body of the requesting message up to the first line starting with '-' is copied into the _a_d_m_i_n_i_s_- _t_r_i_v_i_a section of the digest. This is followed by the con- tents of _d_i_r////tttteeeexxxxtttt////ddddiiiiggggeeeesssstttt, if this file exists. NNNNooootttteeee:::: Anyone who can read your _d_i_r////mmmmaaaannnnaaaaggggeeeerrrr file, digest- requesting scripts, or mail log knows the _d_i_g_e_s_t_c_o_d_e and can SunOS 5.11 Last change: 2 User Commands ezmlm-get(1) trigger digests. eeeezzzzmmmmllllmmmm----ggggeeeetttt copies _d_i_r////mmmmaaaaiiiilllliiiinnnngggglllliiiisssstttt into a MMMMaaaaiiiilllliiiinnnngggg----LLLLiiiisssstttt field in its response. If the incoming message has a MMMMaaaaiiiilllliiiinnnngggg----LLLLiiiisssstttt field, eeeezzzzmmmmllllmmmm----ggggeeeetttt refuses to respond. eeeezzzzmmmmllllmmmm----ggggeeeetttt also refuses to respond to bounce messages. If _d_i_r////lllliiiissssttttiiiidddd exists, eeeezzzzmmmmllllmmmm----ggggeeeetttt will assume that the format is correct and create a ``List-ID:'' header by placing the contents after the text ``List-ID: ''. If _d_i_r////qqqqmmmmqqqqppppsssseeeerrrrvvvveeeerrrrssss exists, eeeezzzzmmmmllllmmmm----ggggeeeetttt wwwwiiiillllllll uuuusssseeee qqqqmmmmaaaaiiiillll----qqqqmmmmqqqqpppp((((1111)))) to send digests. Other messages are sent by the normal qmail mechanism. If _d_i_r////ppppuuuubbbblllliiiicccc does not exist, eeeezzzzmmmmllllmmmm----ggggeeeetttt rejects all archive retrieval attempts, unless the -pppp command line switch is used. Archive retrieval actions can be of the form aaaaccccttttiiiioooonnnn[[[[ffff]]]], aaaaccccttttiiiioooonnnn[[[[ffff]]]]...._n_u_m or aaaaccccttttiiiioooonnnn[[[[ffff]]]]...._n_u_m__n_u_m_2, where _n_u_m is the mes- sage number for the action or _n_u_m__n_u_m_2 the range of message numbers for the action. ffff is an optional format specifier for -_g_e_t, -_t_h_r_e_a_d, and -_d_i_g requests. It is allowed, but ignored for -_i_n_d_e_x requests. Currently, the following are allowed: rrrr rfc1153. This is a ``plain'' non-MIME format for dumb clients. mmmm (Default.) MIME _m_u_l_t_i_p_a_r_t/_d_i_g_e_s_t with a subset of ordered headers sorted. Currently, the following headers are included in the order listed: Date:, To:, From:, Reply-To:, Cc:, MIME-Version:, Content-Type:, Message-ID:, and Keywords:. This can be customized with the optional file _d_i_r////ddddiiiigggghhhheeeeaaaaddddeeeerrrrssss, which should contain the desired headers up to but not including the colon. The format is no longer compliant with rfc1153, as the rfc1153 format is incompatible with rfc2046, which which the format is (should be) compatible. xxxx MIXED: This is the same as the default MIME format, except that the Content-Type is _m_u_l_t_i_p_a_r_t/_m_i_x_e_d. This helps circumnavigate a Pine bug: when the digest is content-transfer-encoded, Pine will refuse to display the initial text/plain part of a _m_u_l_t_i_p_a_r_t/_d_i_g_e_s_t mes- sage, but display the same part of a _m_u_l_t_i_p_a_r_t/_m_i_x_e_d message. Some MUAs for some strange reason treat the SunOS 5.11 Last change: 3 User Commands ezmlm-get(1) two multipart formats differently. In some cases, ``x'' works better than ``m''. vvvv VIRGIN: This is MIME _m_u_l_t_i_p_a_r_t/_d_i_g_e_s_t with messages returned without any header filtering. nnnn NATIVE: This is VIRGIN format without threading, i.e. messages are presented in numerical order and the mes- sage index is suppressed. For flexibility and backwards compatibility, the '.' separating the action from the first argument can be replaced by '-', or omitted. Any non-alphanumeric character can separate _n_u_m_2 from _n_u_m. If _a_c_t_i_o_n is _d_i_g._d_i_g_e_s_t_c_o_d_e, eeeezzzzmmmmllllmmmm----ggggeeeetttt returns a digest of the messages received since the last digest, and updates the digest issue counter. If _a_c_t_i_o_n is _g_e_t, eeeezzzzmmmmllllmmmm----ggggeeeetttt sends back message(s) _n_u_m or _n_u_m through _n_u_m_2. from _d_i_r////aaaarrrrcccchhhhiiiivvvveeee////. If _n_u_m is omitted and _d_i_r////ddddiiiiggggnnnnuuuummmm does not exist or is 0, the latest HISTGET mes- sage (default 30) are returned. Otherwise, the messages since the latest digest are returned including the last mes- sage in that digest, so that always at least 1 message is send. If the number of messages exceeds MAXGET (default 100), only the MAXGET last messages are returned. if _n_u_m is greater than the latest message in the archive _and_ _n_u_m_2 is specified, the latest messages back to HISTGET before the end of the latest digest up to MAXGET messages are returned. This is a good way of always getting at least the latest 30 messages without knowing the latest message number. A link with such a command could be put into e.g. _d_i_r////tttteeeexxxxtttt////ssssuuuubbbb----ooookkkk. _n_u_m and _n_u_m_2 are adjusted to make both > 0, and _n_u_m_2 >= _n_u_m. If either is greater than the largest message number pro- cessed, it is silently set to the largest message number. At most 100 messages are returned. If _a_c_t_i_o_n is iiiinnnnddddeeeexxxx, eeeezzzzmmmmllllmmmm----ggggeeeetttt sends back the subjects and authors of the message(s) _n_u_m or _n_u_m through _n_u_m_2 in sets of 100 from _d_i_r////aaaarrrrcccchhhhiiiivvvveeee////. _n_u_m and _n_u_m_2 are reasonable adjusted as for 'get'. No warnings are sent. At most 20 sets of 100 message entries are returned per request. If _n_u_m is omitted, eeeezzzzmmmmllllmmmm----ggggeeeetttt returns the last 100-200 message entries, which automatically gives information about the last message number. If _a_c_t_i_o_n is tttthhhhrrrreeeeaaaadddd, eeeezzzzmmmmllllmmmm----ggggeeeetttt sends back the message(s) that have an index subject entry identical to that of mes- sage _n_u_m from _d_i_r////aaaarrrrcccchhhhiiiivvvveeee////. SunOS 5.11 Last change: 4 User Commands ezmlm-get(1) If _n_u_m_2 is given it is ignored. If _n_u_m is out of range, and error message is returned. The message range scanned for the subject is limited to 2000 messages before and after the master message, i.e. the tttthhhhrrrreeeeaaaadddd argument. This limit pro- tects very large archives. Most threads are expected to be considerably more short-lived. In the unlikely event that there are further messages, these can be retrieved by a second request for the highest/lowest message returned in the first request. CCCCHHHHAAAARRRRAAAACCCCTTTTEEEERRRR SSSSEEEETTTTSSSS If _d_i_r////cccchhhhaaaarrrrsssseeeetttt exists, eeeezzzzmmmmllllmmmm----ggggeeeetttt 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. FFFFIIIILLLLEEEESSSS _d_i_r////ddddiiiiggggnnnnuuuummmm The last message included in the latest normal mode digest. _d_i_r////ddddiiiiggggiiiissssssssuuuueeee The issue number of the latest normal mode digest. _d_i_r////tttteeeexxxxtttt////ggggeeeetttt----bbbbaaaadddd Returned if a/the message cannot be found. _d_i_r////tttteeeexxxxtttt////ddddiiiiggggeeeesssstttt Copied into the _A_d_m_i_n_i_s_t_r_i_v_i_a section of digests after the body of the requesting message. _d_i_r////cccchhhhaaaarrrrsssseeeetttt The character set used for all eeeezzzzmmmmllllmmmm----ggggeeeetttt messages (see above). If not present, the default, ``us-ascii'', is used without encoding. BBBBUUUUGGGGSSSS The digest format per rfc2046 should (but is not required to) be multipart/mixed with the table-of-contents a text/plain part, and the entire remainder of the digest a multipart/digest part. The multipart/digest in turn should contain all the messages. Many MUA's fail to split out the individual messages from such a hierarchy, so the format used by eeeezzzzmmmmllllmmmm----ggggeeeetttt is a simple multipart/digest, explicitly typing the table-of-contents to text/plain, with the ``x'' format changing the mail content-type to multipart/mixed. SSSSEEEEEEEE AAAALLLLSSSSOOOO ezmlm-make(1), ezmlm-manage(1), ezmlm-send(1), ezmlm(5), qmail-command(8), qmail-qmqp(1) SunOS 5.11 Last change: 5 User Commands ezmlm-get(1) SunOS 5.11 Last change: 6