Import ezmlm-idx 0.40
[ezmlm] / ezmlm-make.1
1 .TH ezmlm-make 1
2 .SH NAME
3 ezmlm-make \- create a new mailing list
4 .SH SYNOPSIS
5 .B ezmlm-make
6 [
7 .B \-+
8 ][
9 .B \-a..zABD..Z
10 ][
11 .B \-C03..9 arg
12 ]
13 .I dir
14 [
15 .I dot
16 .I local
17 .I host
18 .I [digestcode]
19 ]
20 .SH DESCRIPTION
21 .B ezmlm-make
22 sets up a new mailing list,
23 .IR local\fB@\fIhost ,
24 along with several extra addresses to handle administrative requests.
25
26 All mailing list information is stored in a new directory,
27 .IR dir .
28 .I dir
29 must be an absolute pathname, starting with a slash.
30 .I dot
31 must be an absolute file name starting with a slash. Arguments other than
32 .I dir
33 may be omitted when editing an existing list, using the
34 .B \-e
35 or
36 .B \-+
37 options (see below).
38
39 .B ezmlm-make
40 is controlled by a template,
41 .BR .ezmlmrc .
42 Described here is the behavior with the default template file.
43 .B ezmlm-make
44 will print a warning message before continuing,
45 if the ezmlmrc version does not match the
46 .B ezmlm-make
47 version.
48
49 .B ezmlm-make also creates
50 .IR dir\fB/config ,
51 where it stores all configuration information. By reading this file, you
52 can rapidly get information about how the list is set up.
53 .B ezmlm-make
54 when used with the
55 .B \-e
56 switch will read information from this file. Thus, when using
57 .B ezmlm-make
58 .BR \-e ,
59 you only need to specify the desired switches and switch arguments and
60 .IR dir .
61 With the
62 .B \-+
63 switch all switches become sticky, i.e. the default for all switches (and
64 command line arguments) becomes the switches and arguments active for the
65 list to be edited. Note that the choice of config file also is sticky,
66 except when running
67 .B ezmlm-make
68 as root.
69
70 .B ezmlm-make
71 sets up four
72 .B .qmail
73 files:
74 .IR dot ,
75 .IR dot\fB-owner ,
76 .IR dot\fB-return-default ,
77 and
78 .IR dot\fB-default .
79 You should make sure that messages to
80 .IR local\fB@\fIhost ,
81 .IR local\fB-owner@\fIhost ,
82 etc. are controlled by
83 these
84 .B .qmail
85 files.
86
87 For message moderated lists,
88 .B ezmlm-make
89 sets up two additional
90 .B .qmail
91 files:
92 .IR dot\fB-accept-default
93 and
94 .IR dot\fB-reject-default .
95
96 For digested lists,
97 .B ezmlm-make
98 sets up another two
99 .B .qmail
100 file:
101 .IR dot\fB-digest-return-default
102 and
103 .IR dot\fB-digest-owner .
104
105 If
106 .I digestcode
107 is specified, digest creation by
108 .B ezmlm-get(1)
109 via trigger messages to the
110 .I local\fB/@\fIhost\fB-dig.\fIdigestcode
111 address is enabled.
112
113 By default,
114 .B ezmlm-make
115 sets up lists to add a ``X-No-Archive: yes'' header to outgoing messages.
116 Public archiving servers will interpret this header as a
117 request not to archive messages from
118 the list. It this in not what you desire, remove this header from
119 .B ezmlmrc
120 for global effects, or from
121 .I dir\fB/headeradd
122 for the specific list.
123
124 Typical use of
125 .B ezmlm-make
126 by a normal user:
127
128 .EX
129 ezmlm-make ~joe/SOS ~joe/.qmail-sos joe-sos isp.net
130 .EE
131
132 Typical use of
133 .B ezmlm-make
134 by
135 .BR alias :
136
137 .EX
138 ezmlm-make ~alias/SOS ~alias/.qmail-sos sos isp.net
139 .EE
140 .EX
141 chown -R alias ~alias/SOS
142 .EE
143
144 Typical use of
145 .B ezmlm-make
146 by a normal user enabling automatic digests:
147
148 .EX
149 ezmlm-make -d ~joe/SOS ~joe/.qmail-sos joe-sos isp.net
150 .EE
151
152 Typical use of
153 .B ezmlm-make
154 to change an existing list in ~joe/SOS to a message moderated list with
155 remote administration, and enabling the remote administrator(s) to retrieve
156 a subscriber list and to edit
157 .I dir\fB/text
158 files (digest are still enabled):
159
160 .EX
161 ezmlm-make -emrldn ~joe/SOS
162 .EE
163
164 Mail can arrive at any time!
165 For safe editing, turn on the sticky bit of the home directory before
166 editing the list setup,
167 then turn it off again (see
168 .BR dot-qmail(5) ).
169
170 Moderator addresses are added with
171
172 .EX
173 ezmlm-sub ~joe/SOS/mod mod1@host1 mod2@host2 ...
174 .EE
175
176 .B ezmlm-make
177 also creates the necessary text files in
178 .IR dir\fB/text/ .
179
180 .B ezmlm-make
181 has a large number of switches to control all aspects of list generation.
182 Only defaults or a small subset of switches are necessary for most list
183 setups. Other options are present primarily to allow a external CGI script
184 or other graphical user interface to use
185 .B ezmlm-make
186 to manipulate ezmlm list setups.
187 .SH "VIRTUAL DOMAINS"
188 For virtual domains,
189 .B qmail(5)
190 prefixes the name of the controlling user to the LOCAL part of the recipient
191 address.
192 .B ezmlm(5)
193 needs to be informed of this in order to correctly interpret list commands.
194 This is done by adjusting
195 .IR dir\fB/inlocal .
196 This adaptation is necessary only when ezmlm is used with qmail version 1.01
197 or earlier.
198
199 To create the list ``tl@virtual.dom'' where ``virtual.dom'' is controlled
200 by ``vu'' (virtual.dom:vu), change identity to ``vu'' or chown files to
201 that user after:
202
203 .EX
204 ezmlm-make ~vu/dir ~vu/.qmail-tl tl virtual.dom
205 .EE
206
207 .EX
208 echo "vu-tl" > ~vu/inlocal
209 .EE
210
211 Thus, create the list exactly as for a list under ``alias'', but adjust
212 .I dir\fB/inlocal
213 to the list local name prefixed with the controlling user name.
214 .SH OPTIONS
215 All
216 .B ezmlm-make
217 letter switches except
218 .BR \-v
219 and
220 .B \-V
221 are available for interpretation via
222 .IR ezmlmrc .
223 Switches
224 .BR -e ,
225 .BR -E ,
226 .BR -c ,
227 and
228 .BR -C
229 have special meaning within the program.
230 .I ezmlmrc
231 customization should respect the function of the switches described here.
232 .TP 5
233 .B \-+
234 Switches currently active for the list
235 will be used, as modified by the current command line.
236 Thus,
237 .B \-+
238 makes switches ``sticky''. By default,
239 only switches specified on the current command line will be used.
240 This switch implies
241 .BR \-e
242 as it is meaningless except in edit mode. Note that the config file choice
243 (see
244 .B \-c
245 and
246 .BR \-C )
247 is also sticky.
248 .B ezmlmrc(5)
249 is set up so that most text files (and
250 .IR DIR\fB/headeradd ,
251 .IR DIR\fB/headerremove )
252 are not overwritten if they already exist so as to preserve
253 manual customizations. If
254 .I local
255 is specified
256 .B ezmlm-make
257 overrides this behavior and all files are rewritten. You can also force
258 .B ezmlm-make
259 to rewrite all files by using
260 .BR \-++ .
261 .TP 5
262 .B \-a
263 (Default.) Archived and configured with
264 .B ezmlm-get(1)
265 for archive access.
266 .B ezmlm-make
267 will touch
268 .I dir\fB/archived
269 and
270 .I dir\fB/indexed
271 so that
272 .B ezmlm-send(1)
273 will archive new messages.
274 .TP
275 .B \-A
276 Not archived.
277 .TP 5
278 .B \-b
279 Block archive. Only moderators are allowed to access the archive.
280 .TP 5
281 .B \-B
282 (Default.)
283 Archive access is open to anyone or subscribers only, depending
284 on the
285 .B \-g
286 switch.
287 .TP 5
288 .B \-c
289 Config.
290 Use
291 .I .ezmlmrc
292 (see CONFIGURATION) from the directory where
293 .I dot
294 resides.
295 .B ezmlm-make
296 otherwise uses the
297 system wide ezmlmrc
298 file (normally /etc/ezmlmrc and if not found there, the ezmlmrc file
299 in the ezmlm binary directory).
300 The
301 .B \-c
302 switch may cause you to execute
303 .B ezmlm-make
304 based on a
305 configuration file controlled by another user.
306 .B ezmlm-make
307 does not allow periods in any tag to restrict all actions to within
308 .IR dir .
309 Be careful with this option setting up lists for other users,
310 especially when running
311 .B ezmlm-make
312 as root.
313 .TP 5
314 .B \-C\fI arg
315 Like
316 .BR \-c ,
317 but use file
318 .I arg
319 as the ezmlmrc file.
320 Use
321 .B \-C\fI ''
322 to override a default when using
323 .B \-+
324 or
325 .BR \-e .
326 .TP 5
327 .B \-d
328 Digest.
329 .B ezmlm-make
330 will set up the
331 .I local\fB\-digest@host
332 digest list to disseminate digest of the list messages. By default, this
333 is done when 30 messages, 48 hours, or 64 kbytes of message body text have
334 accumulated since the last digest. Use the
335 .B \-4
336 switch to override these defaults. See
337 .B ezmlm-tstdig(1)
338 and
339 .B ezmlm-get(1)
340 for more info.
341 .TP 5
342 .B \-D
343 (Default.)
344 No digest.
345 Do not set up the digest list.
346 .TP 5
347 .B \-e
348 Edit.
349 .B ezmlm-make
350 will remove links before creating them and accept
351 if directories to be created are already present.
352 .b ezmlm-make
353 will also (via entries in
354 .IR ezmlmrc )
355 remove flags that are present but not desired for the current list.
356 Thus, this option can be used to reconfigure existing lists without affecting
357 moderator and subscriber lists or message archive. All desired
358 .B ezmlm-make
359 switches
360 need to be specified. To make all switches sticky, i.e. only specify the
361 ones changed from the previous setup, use
362 .BR \-+ .
363 Command line arguments other
364 than
365 .I dir
366 can be omitted.
367 In the unlikely case where
368 .I dot
369 is changed, you must manually remove the old links.
370 Mail can arrive at any time!
371 For safe editing, turn on the sticky bit of the home directory before
372 using the edit function,
373 then turn it off again (see
374 .BR dot-qmail(5) ).
375 .B ezmlmrc(5)
376 is set up so that most text files (and
377 .IR DIR\fB/headeradd ,
378 .IR DIR\fB/headerremove )
379 are not overwritten if they already exist so as to preserve
380 manual customizations. If
381 .I local
382 is specified
383 .B ezmlm-make
384 overrides this behavior and all files are rewritten. You can also force
385 .B ezmlm-make
386 to rewrite all files by using
387 .BR \-ee .
388 .TP 5
389 .B \-E
390 (Default.)
391 No edit.
392 .B ezmlm-make
393 will abort if directories or links to be created already exist. This prevents
394 accidental reconfiguration of a pre-existing list, since the first action
395 is to create the list directory.
396 .TP 5
397 .B \-f
398 Prefix.
399 .B ezmlm-make
400 will set up the list so that the outgoing subject will be prefixed
401 with the list name.
402 .TP 5
403 .B \-F
404 (Default.)
405 No prefix.
406 .TP 5
407 .B \-g
408 Guard archive.
409 Archive access requests from unrecognized SENDERs will be rejected.
410 This restriction is safe, since replies are sent to the SENDER address.
411 .TP 5
412 .B \-G
413 (Default.)
414 Do not guard archive.
415 Archive access request from any SENDER will be serviced.
416 .TP 5
417 .B \-h
418 Help subscription. Subscriptions do not require confirmation. Strongly
419 recommended against, since anyone can subscribe any address,
420 but may be useful for some subscription moderated lists.
421 .TP 5
422 .B \-H
423 (Default.)
424 Subscription requires confirmation by reply to a message sent to the
425 subscription address.
426 .TP 5
427 .B \-i
428 Indexed for WWW archive access.
429 .B ezmlm-make
430 will create the list so that
431 .B ezmlm-archive(1)
432 is invoked to maintain an index suitable for use by
433 .BR ezmlm-cgi(1) .
434 .TP 5
435 .B \-I
436 (Default.)
437 The list is created without
438 .BR ezmlm-archive(1) .
439 .TP 5
440 .B \-j
441 Jump off. Unsubscribe does not require confirmation. Strongly recommended
442 against, since anyone can unsubscribe any address, but may be useful
443 in some situations.
444 .TP 5
445 .B \-J
446 (Default.)
447 Unsubscribe requires confirmation by a reply to a message sent to the
448 subscription address.
449 .TP 5
450 .B \-k
451 kill.
452 .B ezmlm-make
453 sets up
454 .IR dir\fB/deny/ .
455 It sets up the list so that posts from addresses in
456 .I dir\fB/deny/
457 are rejected. This is useful in combination with the
458 .B \-u
459 switch to temporarily restrain offenders, such as misconfigured auto-responders
460 or automatic spammers.
461 It can also be used in combination with
462 .B \-m
463 to filter out SENDERs from whom the moderators do not want to see
464 posts (again, bad
465 re-mailers and spammers come to mind).
466
467 To add/remove blacklisted addresses:
468
469 .EX
470 .B ezmlm-sub \fIdir\fB/deny \fIbad@host
471 .EE
472
473 .EX
474 .B ezmlm-unsub \fIdir\fB/deny \fIbad@host
475 .EE
476
477 .TP 5
478 .B \-K
479 (Default.)
480 Not kill.
481 .I dir\fB/deny/
482 is not created, and even if it exists, the contents will be ignored.
483 .TP 5
484 .B \-l
485 List subscribers.
486 .B ezmlm-make
487 sets up the list so that remote administrators can request a subscriber list,
488 and search the subscriber log.
489 .TP 5
490 .B \-L
491 (Default.)
492 The subscriber list cannot be obtained.
493 .TP 5
494 .B \-m
495 Message moderation. (Please note that the
496 .B \-u switch modifies
497 the action of this switch.)
498 .B ezmlm-make
499 will touch
500 .I dir\fB/modpost
501 and create
502 .I dir\fB/mod/
503 and
504 .IR dir\fB/mod/subscribers/ ,
505 where the moderator addresses are stored.
506 .B ezmlm-make
507 also creates
508 .IR dir\fB/mod/pending/ ,
509 .IR dir\fB/mod/accepted/ ,
510 and
511 .IR dir\fB/mod/rejected/ .
512 These directories are used to queue messages awaiting moderation.
513 .I dir\fB/editor
514 will be set up to run
515 .B ezmlm-store(1)
516 to store incoming messages in the moderation queue and send moderation
517 requests to the moderators.
518 .I dir\fB/moderator
519 will be set up to run
520 .B ezmlm-moderate
521 to process moderator
522 .I accept
523 or
524 .I reject
525 requests.
526
527 To add/remove moderators:
528
529 .EX
530 .B ezmlm-sub \fIdir\fB/mod \fImoderator@host
531 .EE
532
533 .EX
534 .B ezmlm-unsub \fIdir\fB/mod \fImoderator@host
535 .EE
536
537 .TP 5
538 .B \-M
539 (Default.)
540 Message posting is not moderated.
541 .TP 5
542 .B \-n
543 New text file.
544 .B ezmlm-make
545 sets up the list to allow remote administrators to edit files in
546 .IR dir\fB/text/ .
547 .TP 5
548 .B \-N
549 (Default.)
550 Not new text file.
551 Text file editing not allowed.
552 .TP 5
553 .B \-o
554 Others rejected.
555 Posts from addresses other than moderators are rejected. This is
556 applicable to message moderated lists only
557 (see
558 .BR \-m ).
559 The switch has no effect on other lists.
560 .TP 5
561 .B \-O
562 (Default.)
563 Others not rejected.
564 For moderated lists, all posts are forwarded to the moderators.
565 The switch has effects only on message moderated lists.
566 .TP 5
567 .B \-p
568 (Default.) Public.
569 .B ezmlm-make
570 will touch
571 .IR dir\fB/public ,
572 so that
573 .B ezmlm-manage(1)
574 will respond to administrative requests and
575 .B ezmlm-get
576 will allow archive retrieval.
577 .TP
578 .B \-P
579 Private.
580 .B ezmlm-manage(1)
581 and
582 .B ezmlm-get(1)
583 will allow only digest creation, remote administration, and archive
584 retrieval by remote administrators, (if the list is configured with these
585 options).
586 .TP
587 .B \-q
588 ReQuest address is serviced.
589 .B ezmlm-make
590 will configure the list to process commands sent in the subject to
591 .IR local\fB-request@\fIhost .
592 This is done by adding a
593 .B ezmlm-request(1)
594 line to
595 .IR dir\fB/manager .
596 .TP
597 .B \-Q
598 (Default.)
599 Do not process messages sent to the ``request'' address.
600 .TP
601 .B \-r
602 Remote admin.
603 .B ezmlm-make
604 enables remote administration by touching
605 .IR dir\fB/remote .
606 Moderator(s) can unsubscribe and subscribe
607 any address.
608 See the
609 .B \-m
610 option on how moderator addresses are stored and manipulated.
611 .TP
612 .B \-R
613 (Default.) No remote administration.
614 .TP
615 .B \-s
616 Subscription moderation.
617 .B ezmlm-make
618 enables subscription moderation by touching
619 .IR dir\fB/modsub .
620 This affects subscriptions for both the main list and the digest list.
621 See the
622 .B \-m
623 option on how moderator addresses are stored and manipulated.
624 .TP
625 .B \-S
626 (Default.) Subscriptions are not moderated.
627 .TP 5
628 .B \-t
629 Trailer.
630 .B ezmlm-make
631 will create
632 .I dir\fB/text/trailer
633 to set up the list to add a trailer to outgoing messages.
634 .TP 5
635 .B \-T
636 No trailer.
637 (Default.)
638 .TP 5
639 .B \-u
640 User posts only.
641 .B ezmlm-make
642 sets up the list
643 so that posts and archive access is restricted to subscribers.
644 These are addresses subscribed to the main list, the digest, or added
645 manually to the address database in
646 .I dir\fB/allow/
647 which accommodates addresses from e.g. subscribers working from an address
648 other than their subscriber address.
649
650 Posts from unrecognized SENDER addresses will be rejected.
651 This is relatively easily defeated for posts.
652 More secure alternatives are message moderated lists configured with the
653 .B ezmlm-make \-m
654 switch (without the
655 .B \-u
656 switch).
657
658 There is no reason to combine of SENDER checks on posts with message
659 moderation. Therefore, the combination of the
660 .B \-u
661 switch with the
662 .B \-m
663 switch is used for a configuration with SENDER restrictions (like with
664 .B \-u
665 alone), with the difference that posts from non-subscribers will be sent for
666 moderation instead of being rejected. This allows the list admin to let
667 non-subscribers post occasionally, as well as to catch subscribers posting
668 from non-subscriber addresses.
669 .TP
670 .B \-U
671 (Default.)
672 Do not restrict posts based on SENDER address.
673 .TP 5
674 .B \-v
675 Display
676 .B ezmlm-make
677 version information.
678 .TP 5
679 .B \-V
680 Display
681 .B ezmlm-make
682 version information.
683 .TP 5
684 .B \-w
685 Remove the
686 .B ezmlm-warn(1)
687 invocations from the list setup. It is assumed that
688 .B ezmlm-warn(1)
689 for both
690 .I local@host
691 and
692 .I local\fB-digest@\fIhost
693 will be run by other means, such as crond.
694 If the list is set up with SQL support (see
695 .BR \-6 ),
696 restrict the list to a subset of addresses by adding the list name to
697 the
698 .I dir\fB/sql ,
699 .I dir\fB/allow/sql ,
700 .I dir\fB/digest/sql ,
701 configuration files. Useful only when setting up the main list
702 for a large distributed list supported by a SQL address database.
703 Also, bounces will be handled by
704 .B ezmlm-receipt(1)
705 rather than
706 .BR ezmlm-return(1) .
707 As the main list will have only sublists as subscribers, it is desirable
708 to log bounces and feedback messages rather than to remove a bouncing
709 subscriber.
710 .TP 5
711 .B \-W
712 (Default.)
713 No address restriction. Normal
714 use of
715 .B ezmlm-warn(1)
716 and
717 .BR ezmlm-return(1) .
718 .TP 5
719 .B \-x
720 eXtra.
721 .B ezmlm-make
722 will configure the list with a few extras:
723 .I dir\fB/mimeremove
724 will be configured to strip annoying mime parts such as excel spreadsheets,
725 rtf text, html text etc from the messages. Messages consisting solely of
726 this Content-type will be rejected. See
727 .B ezmlm-send(1)
728 and
729 .B ezmlm-reject(1)
730 for more info.
731 .TP 5
732 .B \-0 \fImainlist@host
733 Make the list a sublist of list
734 .IR mainlist@host .
735 .TP 5
736 .B \-3 \fIfromarg
737 .B ezmlm-make
738 sets up the list to replace the ``From:'' header of the message with
739 ``From:
740 .IR fromarg ''.
741 .TP 5
742 .B \-4 \fItstdigopts
743 .B ezmlm-make
744 replaces the
745 .B ezmlm-tstdig(1)
746 switches used for digest generation with the text in
747 .IR tstdigopts .
748 This is part of a command line, NOT a specific switch. It should normally
749 be placed within single quotes. This switch is mainly for programmatic
750 use. For changing list defaults, it is usually easier to create a custom
751 .I ~/.ezmlmrc
752 file and edit it. The default is '-t24 -m30 -k64'. (See
753 .B ezmlm-tstdig(1)
754 for more info.)
755 .TP
756 .B \-5 \fIowner@host
757 .B ezmlm-make
758 will configure the list to forward mail directed to the list owner to
759 .IR owner@host .
760 .TP
761 .B \-6\fI\ host:port:user:password:datab:table
762 SQL connect info. Use the sql
763 .IR host
764 (default localhost),
765 connecting to
766 .I port
767 (default port for SQL server) as
768 .I user
769 with
770 .I password
771 using database
772 .I datab
773 (default ezmlm)
774 and the table root name
775 .I table
776 (default ezmlm)
777 This will have no effect unless the ezmlm programs
778 are compiled with SQL support.
779 .TP
780 .B \-7 \fI/msg_mod_path
781 Make
782 .I /path
783 the path to the database for message moderators, if the list is set up for
784 message moderation.
785 .I /msg_mod_path
786 must be an absolute pathname, starting with a slash. If not, it will be ignored.
787 .TP
788 .B \-8 \fI/sub_mod_path
789 Make
790 .I /sub_mod_path
791 the path to the database for subscription moderators, if the list is set up for
792 subscription moderation.
793 .I /sub_mod_path
794 must be an absolute pathname, starting with a slash. If not, it will be ignored.
795 .TP
796 .B \-9 \fI/rem_adm_path
797 Make
798 .I /path
799 the path to the database for remote administrators, if the list is set up for
800 remote administration.
801 .I /rem_adm_path
802 must be an absolute pathname, starting with a slash. If not, it will be ignored.
803 .SH "LIST EDITING"
804 When
805 .B ezmlm-make
806 is used with the
807 .B \-e
808 switch, and the list was previously created or edited with a
809 new (ezmlm-idx >= 0.23) version of
810 .BR ezmlm-make ,
811 all arguments other than
812 .I dir
813 can be omitted. In this case, arguments will be read from
814 .IR dir\fB/config .
815 The appropriate flags must always be specified. To override
816 .IR dot ,
817 .IR local ,
818 .IR host ,
819 or
820 .IR code ,
821 all arguments must be specified.
822 .SH CONFIGURATION
823 This version of
824 .B ezmlm-make
825 is template driven. The template file consists of plain text with four types
826 of tags. Both start in
827 the first position of the line.
828 No other text is allowed on the same line. For
829 security reasons, no periods are allowed anywhere in a tag.
830 Any line with a ``#'' in position 1 is ignored,
831 as is any text preceding the first tag.
832 .TP
833 .B </filename#aI/>
834 The following text will be copied to
835 .IR dir\fB/filename
836 if the options specified after the ``#'' are active, in this case
837 .I archived
838 and not
839 .IR indexed .
840 Any number of flags can be specified. This
841 is used to adapt the files and
842 messages to the type of list created. If no flags are
843 used, the ``#'' can be omitted. If the file name is the same as the previous
844 tag, or if it is omitted, the text will be added to the previous file.
845 When a new file is opened the previous file is closed. Attempts to add
846 more text to a already closed file overwrites its contents.
847
848 An alternative to specify that a flag, e.g. ``4'' should not be active is
849 to prefix the switch with ``^'', e.g. use ``^4''.
850 The ``E'' flag is treated in a special manner. When the list
851 is being edited, it evaluates to false if the file already exists,
852 true if it does not. Thus, files using this condition are not overwritten
853 when editing. This is useful for files that you frequently customize manually.
854 .TP
855 .B </-filename#eA/>
856 .IR dir\fB/filename
857 will be erased, if the options after the ``#'' are active, in this case
858 .I not archived
859 and
860 .IR edit .
861 .TP
862 .B </+directory#aI/>
863 The directory ``directory'' is created if the flags specified are active, in
864 this case
865 .I archived
866 and not
867 .IR indexed .
868 If no flags are specified, the ``#'' can be
869 omitted.
870 .TP
871 .B </:link/directory#aI/>
872 .B dot\fI\-link
873 is symlinked to
874 .I dir/directory
875 if the flags specified are active, in
876 this case
877 .I archived
878 and not
879 .IR indexed .
880 If no flags are specified, the ``#'' can be
881 omitted.
882 .PP
883 In addition,
884 .I local
885 is substituted for
886 .BR <#L#> ,
887 the part of
888 .I dot
889 between the first 2 hyphens (if any) for
890 .BR <#1#> ,
891 the part of
892 .I dot
893 between the second and third hyphen (if any) for
894 .BR <#2#> ,
895 .I host
896 for
897 .BR <#H#> ,
898 .I dir
899 for
900 .BR <#D#> ,
901 .I dot
902 for
903 .BR <#T#> ,
904 .I digestcode
905 for
906 .BR <#C#> ,
907 the set of all active flags for
908 .BR <#F#> ,
909 the config file used for
910 .BR <#X#> ,
911 and the path to the
912 .B ezmlm
913 binaries for
914 .BR <#B#>
915 anywhere in the text. Other tags of this format are copied to the files as is.
916
917 .BR <#l#> ,
918 .BR <#h#> ,
919 .BR <#n#> ,
920 .BR <#A#> ,
921 .BR <#R#> ,
922 will be substituted on-the-fly where appropriate for the
923 .IR local
924 or
925 .IR local\fB\-digest
926 local part of the list address, the
927 .IR host ,
928 the subscriber address or the moderation accept address,
929 the message number,
930 and the subscription reply address or moderation reject address, respectively.
931 The use of
932 .BR <#l#>
933 is to allow the same text file to be used for requests pertaining to both
934 the main list and the digest list.
935 .BR <#h#>
936 makes it possible to share some files between lists.
937 .BR <#n#>
938 is defined only by programs where this makes sense, i.e.
939 .B ezmlm-send(1)
940 and
941 .B ezmlm-get(1)
942
943 In the absence of
944 .B \-e
945 and
946 .B \-+
947 switches,
948 .B ezmlm-make
949 will create the list directory before processing the template file, and
950 create
951 .I dir\fB/key
952 after all other actions.
953
954 .B ezmlm-make
955 will use
956 .B /etc/ezmlmrc
957 and if not found
958 .B ezmlmrc
959 in the ezmlm binary directory. This can be overridden with the
960 .B \-c
961 and
962 .B \-C
963 switches.
964 .SH BUGS
965 .B ezmlm-make
966 deals with the template file as us-ascii.
967 Any occurrence of
968 the characters ``</'' at the beginning of a line will disrupt
969 .B ezmlm-make
970 operation.
971 Any occurrence of tags with the format ``<#X#>'' with
972 with 'X' being any digit, 'B', 'C', 'D', 'F', 'H', 'L', or 'T'
973 will be substituted by
974 .BR ezmlm-make .
975 Any occurrence of a tag of this format with 'X' being 'h', 'l', 'A',
976 or 'R' will be
977 substituted by
978 .B ezmlm-store
979 and
980 .B ezmlm-manage
981 at run time.
982 .B ezmlm-send
983 will substitute tags with 'h' and 'l', and tags with 'n' will be replaced
984 by the current message number.
985 .B ezmlm-get
986 will substitute tags ``<#h#>'', ``<#l#>'' in the same way. The
987 tag ``<#n#>'' will be replaced by the digest message number which is the
988 number of the first message in the digest.
989
990 In practice, these character sequences are unlikely to occur in any
991 multi-byte character set text. They also will not occur by chance
992 in
993 single-byte character sets where '<', '/', and '#'
994 retain their us-ascii codes.
995 .SH BUGS
996 .B ezmlm-make
997 cannot deal with ezmlmrc lines containing NUL (they will be truncated
998 at the NUL). This needs to be fixed to make it 8-bit clean.
999 .SH "SEE ALSO"
1000 ezmlm-clean(1),
1001 ezmlm-get(1),
1002 ezmlm-manage(1),
1003 ezmlm-moderate(1),
1004 ezmlm-send(1),
1005 ezmlm-store(1),
1006 ezmlm-sub(1),
1007 ezmlm-unsub(1),
1008 ezmlm(5)