minimalist(1)
NAME
minimalist - MINImalist MAiling LIST manager
DESCRIPTION
- Minimalist is a MINImalist MAiling LIST manager. It is fast, extremely
easy to setup and support. It is written in Perl and full tested on
FreeBSD and Linux, where it works pretty well. However there aren't
causes not to use Minimalist on any other Unix system, because it
doesn't use any system-dependent features. - . subscribe/unsubscribe users by request
* including write-only option of subscription
- . several levels of security
. read-only/closed/mandatory lists
. information about list; users, subscribed to list; lists, to which usersubscribed - . per-user options:
* read-only (for open lists)
* write allow (for read-only lists))
* maximum message size - . susped/resume subscription
. archiving lists (internal and external), with maximum size of archivedmessage - . multilanguage support
. process MIME-encoded messages* including support for local charset (for reports and footer) - . hook for bounce processing (using VERP - Variable Envelope Return-Path)
. external delivery of processed message
. blacklist
. logging activity - Minimalist has a notion of 'administrators' (global and per-list). They have full rights to manipulate subscription of other users and get any information, related to lists and users.
- Basic language of Minimalist is English, additional languages can be
found either in distribution (in directory languages/) or on Web, at
http://www.mml.org.ua/languages/. There is also README, which explains how to use these languages.
USAGE
Commands may be either in subject of message (one command per message)
or in body (one or more commands, one per line). Batched processing
starts when subject either empty or contains command 'body' (without
quotes) and stops when either arrives command 'stop' or 'exit' (without
quotes) or gets 10 incorrect commands.
Supported commands are:
- subscribe list [email]
- Subscribe user to <list>. If <list> contains suffix '-writers',
user will be able to write to this <list>, but will not receive
messages from it. - unsubscribe list [email]
- Unsubscribe user from <list>. Can be used with suffix '-writers'
(see above description for subscribe) - auth code
- Confirm command, used in response to subscription requests in some
cases. This command isn't standalone, it must be used only in
response to a request by Minimalist. - mode list email mode
- Set mode for specified user on specified list. Allowed only for
administrator. Mode can be (without quotes): - reader
read-only access to the list for the user;
- writer
user can post messages to the list regardless of list's status
- usual
clear any two above mentioned modes
- suspend
suspend user subscription
- resume
resume previously suspended permission
- maxsize size
set maximum size (in bytes) of messages, which user wants to
receive - reset
clear all modes for specified user
- suspend list
- Stop receiving of messages from specified mailing list
- resume list
- Restore receiving of messages from specified mailing list
- maxsize list size
- Set maximum size (in bytes) of messages, which user wants to
receive - which [email]
- Return list of lists to which user is subscribed
- info [list]
- Request information about all existing lists or about <list>
- who list
- Return the list of users subscribed to <list>
- help
- Return list of supported commands with brief description about
every command - Note, that commands with <email>, 'who' and 'mode' can only be used by
administrators (users identified in the 'mailfrom' authentication
scheme or who used a correct password - either global or local).
Otherwise command will be ignored. Password must be supplied in any
header of message as fragment of the header in the following format: - {pwd: list_password}
- For example:
- To: MML Discussion {pwd: password1235} <mml-general\@kiev.sovam.com>
- This fragment, of course, will be removed from the header before
sending message to subscribers.
CREATING LISTS
- 1. In the main Minimalist's directory create directory, named exactly
as list you creating. This directory and it's contents must be owned by uid/gid of your MTA (it's because Minimalist will write here some
control information - subscribed users, archived messages, etc). The
simple and right method to know MTA's euid/egid is: - . create in /etc/aliases such entry:
mtaid: "|tee /tmp/mtaid.tst" - . mail message to mtaid
. check owner/group of resulted /tmp/mtaid.tst and chown main Minimalist's directory (and all subsequent) to this owner/group - . delete 'mtaid' alias from /etc/aliases
- 2. Add list's name and short description of it into lists.lst file (in
the main Minimalist's directory). This file will be shown by the
command <info>. Example of this file's contents: - list This is testing list info General information, news, etc
- 3. Create in the list's directory some files:
a) config
Private settings for this list, they override global parameters.- b) info
Common information about list, used when user subscribes to the list and requests information about list. - c) footer
This file will be appended to any message, passed through list. There are few ways in which footer can be added to message:
* if message is not encoded (i.e. if it's 7bit or 8bit), message's charset is the same as list's charset or list's charset is default (us-ascii) and footer doesn't contain any predefined MIME-headers (see below), then footer will be simply added to the end of the incoming message.- * else entire message will be converted to MIME-format and footer
will be added as separate entity, with his own charset (from
configuration or from predefined headers). - * if message is already MIME-encoded, then footer will be added as separate entity, accordingly to structure of incoming message.
- It means, that footer will always be visible regardless of attachments in message or encoding of message or charset, used in message.
- If you want to define your own headers, start footer with string
'*hdr: ' (without quotes), followed by headers. Body of footer must be separated from header with empty line, for example: - +-------------------------------------------------------|*hdr: Content-Type: text/html; charset=koi8-r
|Content-Transfer-Encoding: 8bit - |<html>
|... rest body of header ...
|</html>
+------------------------------------------------------- - It gives ability to use in footer whatever you want, from HTML code, which has references to some other resources, to animated GIFs or Flash programs.
- There are some useful macros can be used in 'info' and 'footer' files:
\a will be expanded to administrator's email
\d will be expanded to <domain>
\l will be expanded to <list>
\o will be expanded to <list>-owner@<domain>- 4. Add list's aliases to /etc/aliases file:
- list: "|/usr/local/sbin/minimalist.pl list" listowner: user@somewhere
- If you are using VERP for bounce processing (see minimalist.conf-sample
for information about directive 'verp'), you must add one more alias,
something like to: - list-owner-*: "|/path/to/bounce_processing_tool.pl"
- Wildcard mask specifies, that any message, where recipient's address
starts on 'list-owner-', will be passed to bounce_processing_tool.pl.
Check your MTA documentation on how to create wildcard aliases. - Distribution of Minimalist does not provide bounce processing program
for now. You should use any third-party program.
CHECK CONFIGURATION
- You always can check configuration with command:
- minimalist.pl - [listname [listname ... ]]
- where 'listname' is existing list's name. If there are errors in they
will be reported. It is recommended always check configuration after
any changes either in global configuration file or in list's config.
SECURITY
Information about how to get administrative privileges, stored in
global and private configs. You must set owner and permissions of this
configs to allow your MTA access configs and disallow access for
unprivileged users.
INTERNALS
- Subscribers are listed in files 'list' and 'list-writers' in list's
directory. Format: e-mail per row. Settings for subscriber are appended to his e-mail through separator '>'. Available values are (without
quotes): - '+' - user allowed to write in read only list (mode ... writer)
'-' - user disallowed to write in list (mode ... reader)
'!' - suspended user (suspend/resume, mode ... suspend/resume)
'#ms<size>' - maximum size in bytes of messages for user - Archives are located under list's directory in
archive/yyyy./mm./dd./[0-9]* in format one file per one message. DON'T DELETE "SEQUENCE" file in this directory - there is a number of a last archived message!
OPTIONS
Minimalist recognizes these options:
- -c file
- Use config file file.
- -d directory
Use config file directory/minimalist.conf. - - Dump configuration to stdout and exit.
- -- Ignored. Useful in postfix transport maps.
FILES
- /etc/minimalist.conf
- Main configuration file.
- /usr/share/minimalist/*.pl
Language files. - /var/spool/minimalist
Spool directory.
SEE ALSO
· /usr/share/doc/minimalist/
· http://www.mml.org.ua/
AUTHORS
- Minimalist was written by Vladimir Litovka <vlitovka@gmail.com>. This
manual page was written by Christoph Berg <myon@debian.org>, based on
previous work by Fernando Sanchez <fer@debian.org>.