Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ezmlm-make(1)		    General Commands Manual		 ezmlm-make(1)

NAME
       ezmlm-make - create a new mailing list

SYNOPSIS
       ezmlm-make  [  -+  ][ -a..zABD..Z ][ -C03..9 arg	] dir [	dot local host
       [digestcode] ]

DESCRIPTION
       ezmlm-make sets up a new	mailing	list, local@host, along	 with  several
       extra addresses to handle administrative	requests.

       All  mailing  list  information is stored in a new directory, dir.  dir
       must be an absolute pathname, starting with a slash.  dot  must	be  an
       absolute	 file name starting with a slash. Arguments other than dir may
       be omitted when editing an existing list, using the -e  or  -+  options
       (see below).

       ezmlm-make  is  controlled  by a	template, .ezmlmrc.  Described here is
       the behavior with the default template file.  ezmlm-make	will  print  a
       warning	message	 before	 continuing,  if  the ezmlmrc version does not
       match the ezmlm-make version.

       ezmlm-make also creates dir/config, where it stores  all	 configuration
       information.  By	 reading  this	file,  you can rapidly get information
       about how the list is set up.  ezmlm-make when used with	the -e	switch
       will  read  information from this file. Thus, when using	ezmlm-make -e,
       you only	need to	specify	the desired switches and switch	arguments  and
       dir.   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 ezmlm-make as root.

       ezmlm-make sets up four .qmail files:  dot,  dot-owner,	dot-return-de-
       fault,  and  dot-default.   You	should	make sure that messages	to lo-
       cal@host, local-owner@host, etc.	are controlled by these	.qmail files.

       For message moderated lists, ezmlm-make sets up two  additional	.qmail
       files: dot-accept-default and dot-reject-default.

       For digested lists, ezmlm-make sets up another two .qmail file: dot-di-
       gest-return-default and dot-digest-owner.

       If digestcode is	specified, digest creation by ezmlm-get(1) via trigger
       messages	to the local/@host-dig.digestcode address is enabled.

       By  default,  ezmlm-make	 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	ezmlmrc	for global ef-
       fects, or from dir/headeradd for	the specific list.

       Typical use of ezmlm-make by a normal user:

	  ezmlm-make ~joe/SOS ~joe/.qmail-sos joe-sos isp.net

       Typical use of ezmlm-make by alias:

	  ezmlm-make ~alias/SOS	~alias/.qmail-sos sos isp.net
	  chown	-R alias ~alias/SOS

       Typical use of ezmlm-make by a normal user enabling automatic digests:

	  ezmlm-make -d	~joe/SOS ~joe/.qmail-sos joe-sos isp.net

       Typical use of ezmlm-make to change an existing list in ~joe/SOS	 to  a
       message moderated list with remote administration, and enabling the re-
       mote  administrator(s)  to  retrieve  a	subscriber  list  and  to edit
       dir/text	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 dot-qmail(5)).

       Moderator addresses are added with

	 ezmlm-sub ~joe/SOS mod	mod1@host1 mod2@host2 ...

       ezmlm-make also creates the necessary text files	in dir/text/.

       ezmlm-make 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 al-
       low a external CGI script or other  graphical  user  interface  to  use
       ezmlm-make to manipulate	ezmlm list setups.

VIRTUAL	DOMAINS
       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

       Thus, create the	list exactly as	for a list under ``alias''.

OPTIONS
       All  ezmlm-make	letter switches	except -v and -V are available for in-
       terpretation via	ezmlmrc.  Switches -e, -E, -c,	and  -C	 have  special
       meaning	within	the program.  ezmlmrc 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	-e as it is meaningless	except
	    in edit mode. Note that the	config file choice (see	-c and -C)  is
	    also  sticky.   ezmlmrc(5)	is set up so that most text files (and
	    DIR/headeradd, DIR/headerkeep, and DIR/headerremove) are not over-
	    written if they already exist so as	to preserve manual  customiza-
	    tions.  If	local  is specified ezmlm-make overrides this behavior
	    and	all files are rewritten. You  can  also	 force	ezmlm-make  to
	    rewrite all	files by using -++.

       -a   (Default.)	Archived  and configured with ezmlm-get(1) for archive
	    access.  ezmlm-make	will touch  dir/archived  and  dir/indexed  so
	    that ezmlm-send(1) will archive new	messages.

       -A   Not	archived.

       -b   Block archive. Only	moderators are allowed to access the archive.

       -B   (Default.)	 Archive access	is open	to anyone or subscribers only,
	    depending on the -g	switch.

       -c   Config.  Use .ezmlmrc (see CONFIGURATION) from the directory where
	    dot	resides.  ezmlm-make otherwise uses the	 system	 wide  ezmlmrc
	    file  (normally  /etc/ezmlm/default/ezmlmrc).   The	 -c switch may
	    cause you to execute ezmlm-make based on a configuration file con-
	    trolled by another user.  ezmlm-make does not allow	periods	in any
	    tag	to restrict all	actions	to within dir.	Be careful  with  this
	    option  setting  up	lists for other	users, especially when running
	    ezmlm-make as root.

       -C arg
	    Like -c, but use file arg as the ezmlmrc file.  Use	-C '' to over-
	    ride a default when	using -+ or -e.	 If the	given path is a	direc-
	    tory instead of a file,  the  actual  ezmlmrc  file	 is  taken  as
	    arg/ezmlmrc,  and the other	ezmlm-idx programs will	use the	direc-
	    tory to look up files (such	as text	files) that are	not present in
	    the	list directory.

       -d   Digest.  ezmlm-make	will set up the	local-digest@host 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.  Edit  the	 dir/digcount,
	    dir/digsize, or dir/digtime	files to override these	defaults.  See
	    ezmlm-tstdig(1) and	ezmlm-get(1) for more info.

       -D   (Default.)	No digest.  Do not set up the digest list.

       -e   Edit.   ezmlm-make	will remove links before creating them and ac-
	    cept if directories	to be created are already present.  will  also
	    (via entries in ezmlmrc) remove flags that are present but not de-
	    sired  for the current list.  Thus,	this option can	be used	to re-
	    configure existing lists  without  affecting  moderator  and  sub-
	    scriber  lists or message archive. All desired ezmlm-make 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  dir can be omitted.  In the unlikely
	    case where dot 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 dot-qmail(5)).  ezmlmrc(5) is set up so
	    that most  text  files  (and  DIR/headeradd,  DIR/headerkeep,  and
	    DIR/headerremove)  are not overwritten if they already exist so as
	    to preserve	manual customizations. If local	 is  specified	ezmlm-
	    make  overrides this behavior and all files	are rewritten. You can
	    also force ezmlm-make to rewrite all files by using	-ee.

       -E   (Default.)	No edit.  ezmlm-make  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.

       -f   Prefix.  ezmlm-make	will set up the	list so	that the outgoing sub-
	    ject will be prefixed with the list	name.

       -F   (Default.)	No prefix.

       -g   Guard archive.  Archive access requests from unrecognized  SENDERs
	    will  be  rejected.	  This	restriction is safe, since replies are
	    sent to the	SENDER address.

       -G   (Default.)	Do not guard archive.  Archive access request from any
	    SENDER will	be serviced.

       -h   Help subscription.	Subscriptions  do  not	require	 confirmation.
	    Strongly  recommended  against, since anyone can subscribe any ad-
	    dress, but may be useful for some subscription moderated lists.

       -H   (Default.)	Subscription requires confirmation by reply to a  mes-
	    sage sent to the subscription address.

       -i   Indexed  for  WWW archive access.  ezmlm-make will create the list
	    so that ezmlm-archive(1) is	invoked	to maintain an index  suitable
	    for	use by ezmlm-cgi(1).

       -I   (Default.)	The list is created without ezmlm-archive(1).

       -j   Jump off. Unsubscribe does not require confirmation. Strongly rec-
	    ommended  against,	since  anyone can unsubscribe any address, but
	    may	be useful in some situations.

       -J   (Default.)	Unsubscribe requires confirmation by a reply to	a mes-
	    sage sent to the subscription address.

       -k

       -K   Ignored for	backwards compatibility.   The	dir/deny/  subscribers
	    directory  is  always  created  to allow denying messages from se-
	    lected addresses.  This is	useful	in  combination	 with  the  -u
	    switch  to	temporarily  restrain offenders, such as misconfigured
	    auto-responders or automatic spammers.  It can  also  be  used  in
	    combination	with -m	to filter out SENDERs from whom	the moderators
	    do	not want to see	posts (again, bad re-mailers and spammers come
	    to mind).

	    To add/remove blacklisted addresses:

	    ezmlm-sub dir deny bad@host

	    ezmlm-unsub	dir deny bad@host

       -l   List subscribers.  ezmlm-make sets up the list so that remote  ad-
	    ministrators  can  request	a subscriber list, and search the sub-
	    scriber log.

       -L   (Default.)	The subscriber list cannot be obtained.

       -m   Message moderation.	(Please	note that the -u switch	 modifies  the
	    action  of	this  switch.)	 ezmlm-make will touch dir/modpost and
	    create dir/mod/ and	dir/mod/subscribers/, where the	moderator  ad-
	    dresses  are  stored.   ezmlm-make	also creates dir/mod/pending/,
	    dir/mod/accepted/, and dir/mod/rejected/.  These  directories  are
	    used  to  queue  messages awaiting moderation.  dir/editor will be
	    set	up to run ezmlm-store(1) to store  incoming  messages  in  the
	    moderation	queue  and send	moderation requests to the moderators.
	    dir/moderator will be set up to run	ezmlm-moderate to process mod-
	    erator accept or reject requests.

	    To add/remove moderators:

	    ezmlm-sub dir mod moderator@host

	    ezmlm-unsub	dir mod	moderator@host

       -M   (Default.)	Message	posting	is not moderated.

       -n   New	text file.  ezmlm-make sets up the list	to allow remote	admin-
	    istrators to edit files in dir/text/.

       -N   (Default.)	Not new	text file.  Text file editing not allowed.

       -o   Others rejected.  Posts from addresses other than  moderators  are
	    rejected.  This is applicable to message moderated lists only (see
	    -m).  The switch has no effect on other lists.

       -O   (Default.)	Others not rejected.  For moderated lists,  all	 posts
	    are	 forwarded  to the moderators.	The switch has effects only on
	    message moderated lists.

       -p   (Default.) Public.	ezmlm-make  will  touch	 dir/public,  so  that
	    ezmlm-manage(1) will respond to administrative requests and	ezmlm-
	    get	will allow archive retrieval.

       -P   Private.   ezmlm-manage(1) and ezmlm-get(1)	will allow only	digest
	    creation, remote administration, and archive retrieval  by	remote
	    administrators, (if	the list is configured with these options).

       -q

       -Q   Ignored  for  backwards compatibility.  The	request	address	is al-
	    ways serviced.  Commands sent in the subject to local-request@host
	    are	processed by ezmlm-request(1).

       -r   Remote admin.  ezmlm-make enables remote administration by	touch-
	    ing	 dir/remote.   Moderator(s)  can unsubscribe and subscribe any
	    address.  See the -m option	on how moderator addresses are	stored
	    and	manipulated.

       -R   (Default.) No remote administration.

       -s   Subscription  moderation.  ezmlm-make enables subscription modera-
	    tion by touching dir/modsub.  This affects subscriptions for  both
	    the	 main list and the digest list.	 See the -m option on how mod-
	    erator addresses are stored	and manipulated.

       -S   (Default.) Subscriptions are not moderated.

       -t   Trailer.  ezmlm-make will create dir/text/trailer to  set  up  the
	    list to add	a trailer to outgoing messages.

       -T   No trailer.	 (Default.)

       -u   User  posts	 only.	 ezmlm-make 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	dir/allow/ 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 ezmlm-make -m
	    switch (without the	-u switch).

	    There is no	reason to combine of SENDER checks on posts with  mes-
	    sage  moderation. Therefore, the combination of the	-u switch with
	    the	-m switch is used for a	configuration with SENDER restrictions
	    (like with -u 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.

       -U   (Default.)	Do not restrict	posts based on SENDER address.

       -v   Display ezmlm-make version information.

       -V   Display ezmlm-make version information.

       -w   Remove  the	 ezmlm-warn(1)	invocations from the list setup. It is
	    assumed that  ezmlm-warn(1)	 for  both  local@host	and  local-di-
	    gest@host  will be run by other means, such	as crond.  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.

       -W   (Default.)	 No  address  restriction. Normal use of ezmlm-warn(1)
	    and	ezmlm-return(1).

       -x   eXtra.  ezmlm-make will configure the  list	 with  a  few  extras:
	    dir/mimeremove  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 re-
	    jected. See	ezmlm-send(1) and ezmlm-reject(1) for more info.

       -y   sender  confirmation.  ezmlm-make will configure the list so post-
	    ing	requires sender	confirmation.

       -Y   (Default.) No sender confirmation is required.

       -0 mainlist@host
	    Make the list a sublist of list mainlist@host.

       -3 fromarg
	    ezmlm-make sets up the list	to replace the ``From:'' header	of the
	    message with ``From: fromarg''.

       -5 owner@host
	    ezmlm-make will configure the list to forward mail directed	to the
	    list owner to owner@host.

       -6 plugin:host:port:user:password:datab:table
	    Subscriber database	info. Use the  database	 plugin	 named	plugin
	    which  connects  to	 host (default localhost), on port number port
	    (default port for SQL server) as user with password	using database
	    datab (default "ezmlm") and	the table  root	 name  table  (default
	    "ezmlm")

       -7 /msg_mod_path
	    Make /path the path	to the database	for message moderators,	if the
	    list  is  set up for message moderation.  /msg_mod_path must be an
	    absolute pathname, starting	with a slash. If not, it will  be  ig-
	    nored.

       -8 /sub_mod_path
	    Make  /sub_mod_path	the path to the	database for subscription mod-
	    erators, if	the  list  is  set  up	for  subscription  moderation.
	    /sub_mod_path must be an absolute pathname,	starting with a	slash.
	    If not, it will be ignored.

       -9 /rem_adm_path
	    Make  /path	the path to the	database for remote administrators, if
	    the	list is	set up for remote administration.  /rem_adm_path  must
	    be an absolute pathname, starting with a slash. If not, it will be
	    ignored.

LIST EDITING
       When ezmlm-make is used with the	-e switch, and the list	was previously
       created or edited with a	new (ezmlm-idx >= 0.23)	version	of ezmlm-make,
       all  arguments  other  than dir can be omitted. In this case, arguments
       will be read from dir/config.  The appropriate  flags  must  always  be
       specified. To override dot, local, host,	or code, all arguments must be
       specified.

CONFIGURATION
       This  version  of ezmlm-make 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.

       </filename#aI/>
	      The following text will be copied	to dir/filename	if the options
	      specified	after the ``#''	are active, in this case archived  and
	      not indexed.  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 be-
	      ing 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.

       </-filename#eA/>
	      dir/filename will	be erased, if the options after	the ``#''  are
	      active, in this case not archived	and edit.

       </+directory#aI/>
	      The  directory  ``directory''  is	created	if the flags specified
	      are active, in this case archived	and not	indexed.  If no	 flags
	      are specified, the ``#'' can be omitted.

       </:link/directory#aI/>
	      dot-link	is  symlinked  to dir/directory	if the flags specified
	      are active, in this case archived	and not	indexed.  If no	 flags
	      are specified, the ``#'' can be omitted.

       In  addition,  local  is	substituted for	<#L#>, the part	of dot between
       the first 2 hyphens (if any) for	<#1#>, the part	 of  dot  between  the
       second  and  third  hyphen  (if any) for	<#2#>, host for	<#H#>, dir for
       <#D#>, dot for <#T#>, digestcode	for <#C#>, the set of all active flags
       for <#F#>, the config file used for <#X#>, and the path	to  the	 ezmlm
       binaries	 for <#B#> anywhere in the text. Other tags of this format are
       copied to the files as is.

       <#l#>, <#h#>, <#n#>, <#A#>, <#R#>, will be substituted on-the-fly where
       appropriate for the local or local-digest local part of	the  list  ad-
       dress,  the  host,  the subscriber address or the moderation accept ad-
       dress, the message number, and the subscription reply address or	moder-
       ation reject address, respectively.  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#> makes it possible to share	some files be-
       tween lists.  <#n#> is defined only by programs where this makes	sense,
       i.e.  ezmlm-send(1) and ezmlm-get(1)

       In the absence of -e and	-+ switches, ezmlm-make	will create  the  list
       directory before	processing the template	file, and create dir/key after
       all other actions.

       ezmlm-make will use /etc/ezmlm/default/ezmlmrc.	This can be overridden
       with the	-c and -C switches.

BUGS
       ezmlm-make deals	with the template file as us-ascii.  Any occurrence of
       the  characters	``</''	at the beginning of a line will	disrupt	ezmlm-
       make operation.	Any occurrence of tags with the	format ``<#X#>''  with
       with  'X' being any digit, 'B', 'C', 'D', 'F', 'H', 'L',	or 'T' will be
       substituted by ezmlm-make.  Any occurrence of a tag of this format with
       'X' being 'h', 'l', 'A',	or 'R' will be substituted by ezmlm-store  and
       ezmlm-manage at run time.  ezmlm-send will substitute tags with 'h' and
       'l',  and tags with 'n' will be replaced	by the current message number.
       ezmlm-get 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.

BUGS
       ezmlm-make  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.

SEE ALSO
       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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ezmlm-make&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help