ezmlm-make
Section: User Commands (1)
Index
Return to Main Contents
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-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 additional
.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.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 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 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 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 subset 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
To create the list ``tl@virtual.dom'' where ``virtual.dom'' is controlled
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 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. 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 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
-++.
- -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 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.
Use
-C ''
to override a default when using
-+
or
-e.
If the given path is a directory instead of a file, the actual ezmlmrc
file is taken as
arg/ezmlmrc,
and the other ezmlm-idx programs will use the directory 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 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
moderator 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)).
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 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 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 address,
but may be useful for some subscription moderated lists.
- -H
-
(Default.)
Subscription requires confirmation by reply to a message 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 recommended
against, since anyone can unsubscribe any address, but may be useful
in some situations.
- -J
-
(Default.)
Unsubscribe requires confirmation by a reply to a message sent to the
subscription address.
- -k
-
- -K
-
Ignored for backwards compatibility. The
dir/deny/
subscribers directory is always created to allow denying messages from
selected 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 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/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 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.
- -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 always
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 touching
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 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 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 subscriber 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 message
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-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 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.
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 consisting solely of
this Content-type will be rejected. See
ezmlm-send(1)
and
ezmlm-reject(1)
for more info.
- -y
-
sender confirmation.
ezmlm-make
will configure the list so posting 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 ignored.
- -8 /sub_mod_path
-
Make
/sub_mod_path
the path to the database for subscription moderators, 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 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 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 being 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 frequently 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 address, the
host,
the subscriber address or the moderation accept address,
the message number,
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 pertaining 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 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)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- VIRTUAL DOMAINS
-
- OPTIONS
-
- LIST EDITING
-
- CONFIGURATION
-
- BUGS
-
- BUGS
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 18:00:51 GMT, June 16, 2008