ezmlm-make(1)                                       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 edit-
       ing 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  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 informa-
       tion  from  this file. Thus, when using ezmlm-make -e, you
       only need to specify the desired switches and switch argu-
       ments  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.
       ezmlm-make sets up four .qmail files: dot, dot-owner, dot-
       return-default,  and  dot-default.   You  should make sure
       that messages to local@host,  local-owner@host,  etc.  are
       controlled by these .qmail files.
       For  message moderated lists, ezmlm-make sets up two addi-
       tional .qmail files:  dot-accept-default  and  dot-reject-
       default.
       For  digested lists, ezmlm-make sets up another two .qmail
       file: dot-digest-return-default and dot-digest-owner.
       If digestcode is  specified,  digest  creation  by  ezmlm-
       get(1) via trigger messages to the local/@host-dig.digest-
       code 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
                                                                1
ezmlm-make(1)                                       ezmlm-make(1)
       you desire, remove this header  from  ezmlmrc  for  global
       effects, 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 auto-
       matic 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 adminis-
       tration,  and  enabling  the  remote  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 sub-
       set  of switches are necessary for most list setups. Other
       options are present primarily  to  allow  a  external  CGI
       script or other graphical user interface to use ezmlm-make
       to manipulate ezmlm list setups.
VIRTUAL DOMAINS
       For virtual domains, qmail(5) prefixes  the  name  of  the
       controlling  user  to  the  LOCAL  part  of  the recipient
       address.  ezmlm(5) needs to be informed of this  in  order
       to  correctly  interpret  list  commands.  This is done by
       adjusting dir/inlocal.  This adaptation is necessary  only
       when ezmlm is used with qmail version 1.01 or earlier.
       To   create   the  list  ``tl@virtual.dom''  where  ``vir-
       tual.dom''  is  controlled  by  ``vu''   (virtual.dom:vu),
       change  identity  to  ``vu''  or  chown files to that user
                                                                2
ezmlm-make(1)                                       ezmlm-make(1)
       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 dir/inlocal to the list local name
       prefixed with the controlling user name.
OPTIONS
       All ezmlm-make letter switches except -v and -V are avail-
       able for interpretation 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.
       -a   (Default.)    Archived.     ezmlm-make   will   touch
            dir/archived, so that ezmlm-send(1) will archive  new
            messages.
       -A   Not archived.
       -c   Config.   Use  .ezmlmrc  (see CONFIGURATION) from the
            directory where dot  resides.   ezmlm-make  otherwise
            uses   the   system   wide   ezmlmrc  file  (normally
            /etc/ezmlmrc and if not found there, the ezmlmrc file
            in  the  ezmlm  binary directory).  The -c switch may
            cause you to execute ezmlm-make based on a configura-
            tion  file  controlled  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.
       -d   Digest.  ezmlm-make will set up the local-digest@host
            digest list to disseminate digest of  the  list  mes-
            sages.  By default, this is done when 30 messages, 48
            hours, or 64 kbytes of message body text have accumu-
            lated  since  the  last  digest. Use the -4 switch 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
                                                                3
ezmlm-make(1)                                       ezmlm-make(1)
            list.
       -e   Edit.  ezmlm-make will remove links  before  creating
            them  and  accept  if  directories  to be created are
            already present.  will also (via entries in  ezmlmrc)
            remove flags that are present but not desired for the
            current list.  Thus,  this  option  can  be  used  to
            reconfigure  existing lists without affecting modera-
            tor and subscriber  lists  or  message  archive.  All
            desired  ezmlm-make switches need to be specified. To
            make all switches sticky, i.e. only specify 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)).
       -E   (Default.)  No edit.  ezmlm-make will abort if direc-
            tories or links to be  created  already  exist.  This
            prevents accidental reconfiguration 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 subject will be prefixed with the list name.
       -F   (Default.)  No prefix.
       -g   Guard archive.  Archive access requests from unrecog-
            nized 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.
       -i   (Default.)   Indexed.     ezmlm-make    will    touch
            dir/indexed, so that ezmlm-send(1) will set up a mes-
            sage index of incoming messages.   ezmlm-get(1)  will
            be  set  up  in  dir/manager  to process digest, get,
            index, and thread requests.
       -I   Not indexed.  ezmlm-get(1) will not be used  and  get
            requests will be handled by ezmlm-manage(1).
       -k   kill.   ezmlm-make sets up dir/deny/.  It sets up the
            list so that posts from addresses  in  dir/deny/  are
            rejected.  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
                                                                4
ezmlm-make(1)                                       ezmlm-make(1)
            mind).
            To add/remove blacklisted addresses:
            ezmlm-sub dir/deny bad@host
            ezmlm-unsub dir/deny bad@host
       -K   (Default.)   Not kill.  dir/deny/ is not created, and
            even if it exists, the contents will be ignored.
       -l   List subscribers.  ezmlm-make sets  up  the  list  so
            that  remote  administrators can request a subscriber
            list, and search the subscriber 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 addresses
            are stored.  ezmlm-make  also  creates  dir/mod/pend-
            ing/,   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 moderator 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 administrators to edit files in dir/text/.
       -N   (Default.)  Not new text file.  Text file editing not
            allowed.
       -p   (Default.) Public.  ezmlm-make will touch dir/public,
            so that ezmlm-manage(1) will respond  to  administra-
            tive   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
                                                                5
ezmlm-make(1)                                       ezmlm-make(1)
            list is configured with these options).
       -q   ReQuest address is serviced.  ezmlm-make will config-
            ure the list to process commands sent in the  subject
            to  local-request@host.   This  is  done  by adding a
            ezmlm-request(1) line to dir/manager.
       -Q   (Default.)  Do  not  process  messages  sent  to  the
            ``request'' address.
       -r   Remote  admin.  ezmlm-make enables remote administra-
            tion by touching dir/remote.  Moderator(s) can unsub-
            scribe  and subscribe any address.  See the -m option
            on how moderator addresses  are  stored  and  manipu-
            lated.
       -R   (Default.) No remote administration.
       -s   Subscription  moderation.   ezmlm-make  enables  sub-
            scription moderation by  touching  dir/modsub.   This
            affects  subscriptions for both the main list and the
            digest list.  See the  -m  option  on  how  moderator
            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  mes-
            sages.
       -T   No trailer.  (Default.)
       -u   User posts only.  ezmlm-make sets up the list so that
            posts  and  archive  access  is  restricted  to  sub-
            scribers.  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 subscriber address.
            Posts  from  unrecognized  SENDER  addresses  will be
            rejected.  This is  relatively  easily  defeated  for
            posts.   More  secure alternatives are message moder-
            ated lists configured with the ezmlm-make  -m  switch
            (without the -u switch).
            There  is  no  reason  to combine of SENDER checks on
            posts with message moderation. Therefore, the  combi-
            nation  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-subscribers will be sent for  moderation  instead
            of  being rejected. This allows the list admin to let
            non-subscribers post  occasionally,  as  well  as  to
                                                                6
ezmlm-make(1)                                       ezmlm-make(1)
            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-digest@host will be run by other
            means, such as crond.  If the list is set up with SQL
            support  (see  -6),  restrict the list to a subset of
            addresses by adding the list name to  the  dir/sql  ,
            dir/allow/sql , dir/digest/sql , configuration files.
            Useful only when setting up the main list for a large
            distributed list supported by a SQL address database.
            Also, bounces will  be  handled  by  ezmlm-receipt(1)
            rather  than  ezmlm-return(1).  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 messages. Messages  con-
            sisting solely of this Content-type will be rejected.
            See ezmlm-send(1) and ezmlm-reject(1) for more  info.
       -0 mainlist@host
            Make the list a sublist of list mainlist@host.
       -4 tstdigopts
            ezmlm-make replaces the ezmlm-tstdig(1) switches used
            for digest generation with the  text  in  tstdigopts.
            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  ~/.ezmlmrc  file  and edit it. The
            default is '-t24 -m30 -k64'. (See ezmlm-tstdig(1) for
            more info.)
       -5 owner@host
            ezmlm-make  will  configure  the list to forward mail
            directed to the list owner to owner@host.
                                                                7
ezmlm-make(1)                                       ezmlm-make(1)
       -6 host:port:user:password:datab:table
            SQL connect info. Use the sql  host  (default  local-
            host),  connecting  to  port  (default  port  for SQL
            server) as user with password  using  database  datab
            (default   ezmlm)  and  the  table  root  name  table
            (default ezmlm) This will have no effect  unless  the
            ezmlm programs are compiled with SQL support.
       -7 /msg_mod_path
            Make  /path the path to the database for message mod-
            erators, if the list is set up  for  message  modera-
            tion.   /msg_mod_path  must  be an absolute pathname,
            starting with a slash. If not, it will be ignored.
       -8 /sub_mod_path
            Make /sub_mod_path the path to the database for  sub-
            scription  moderators, if the list is set up for sub-
            scription moderation.  /sub_mod_path must be an abso-
            lute pathname, starting with a slash. If not, it will
            be ignored.
       -9 /rem_adm_path
            Make /path the path to the database for remote admin-
            istrators,  if the list is set up for remote adminis-
            tration.  /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 speci-
       fied. To override dot, local, host, or code, all arguments
       must be specified.
CONFIGURATION
       This  version  of  ezmlm-make is template driven. The tem-
       plate file consists 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 previ-
              ous tag, or if it is  omitted,  the  text  will  be
                                                                8
ezmlm-make(1)                                       ezmlm-make(1)
              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 condi-
              tion are not overwritten when editing. This is use-
              ful  for  files that you frequently customize manu-
              ally.
       </-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#>,  and  the path to the ezmlm binaries for <#B#> any-
       where 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 address, the host, the subscriber
       address or the moderation accept address, the message num-
       ber,  and  the  subscription  reply  address or moderation
       reject address, respectively.  The  use  of  <#l#>  is  to
       allow  the same text file to be used for requests pertain-
       ing to both the main list  and  the  digest  list.   <#h#>
       makes  it  possible  to  share  some  files between 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
                                                                9
ezmlm-make(1)                                       ezmlm-make(1)
       create the list directory before processing  the  template
       file, and create dir/key after all other actions.
       ezmlm-make  will use /etc/ezmlmrc and if not found ezmlmrc
       in the ezmlm binary directory. 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 sub-
       stituted by ezmlm-make.  Any occurrence of a tag  of  this
       format  with  'X' being 'h', 'l', 'A', or 'R' will be sub-
       stituted 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)
                                                               10
  
  
  © 1994 Man-cgi 1.15, Panagiotis Christias <christia@theseas.ntua.gr>