|
|
| |
ezmlm-make(1) |
FreeBSD General Commands Manual |
ezmlm-make(1) |
ezmlm-make - create a new mailing list
ezmlm-make [ -+ ][ -a..zABD..Z ][ -C03..9 arg ]
dir [ dot local host [digestcode] ]
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.
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''.
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.
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.
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.
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.
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.
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)
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. |