Majordomo2 Admin Variables
Some variables are only settable by the mj2-owner. Variables which are in red are
mj2-owner settable while the variables in green are
able to be set by the list owner.
# ack_attach_original
# (fail ...) [enum_array] <resend>
# This controls under what circumstances the original message will be
# attached (as a MIME attachment) to acknowlegements sent out to inform
# the user of delivery progress (as set by the user''s ack setting and
# the value of the 'ack_denials_always' variable).
#
# Each element of this array myst be one of the following:
#
# fail - acks for failed messages will include the original message
# stall - acks for stalls (confirmations or consultations) will
# include the original message.
# any - acks sent for any reason will include the original message.
configset LISTNAME ack_attach_original << ENDAAC
fail
stall
ENDAAC
# ack_denials_always
# (yes) [bool] <resend>
# If this is on, users whose posts are denied will always be informed of
# the denial. Otherwise they will be informed based on their flag
# settings: if they have either the 'ackall' or 'ackimportant' flag set
# then they will receive notice of the denial, else they will not
# recieve any type of notice.
configset LISTNAME ack_denials_always = 1
# admin_body
# (empty) [taboo_body] <resend>
# If any line of the body matches one of these regexps, then the message
# will be bounced for review.
configset LISTNAME admin_body << ENDAAD
ENDAAD
# admin_headers
# (empty) [taboo_headers] <resend>
# If any of the headers matches one of these regexps, then the message
# will be bounced for review.
configset LISTNAME admin_headers << ENDAAE
ENDAAE
# administrivia
# (yes) [bool] <resend>
# Look for administrative requests (e.g. subscribe/unsubscribe) and
# forward them to the list maintainer instead of the list.
configset LISTNAME administrivia = 1
# advertise
# (empty) [regexp_array] <mj2,access,advertise,lists>
# If the requestor name matches one of these regexps, then the list will
# not be listed in the output of a lists command. Noadvertise overrides
# advertise.
configset LISTNAME advertise << ENDAAF
ENDAAF
# allowed_classes
# (each ...) [string_array] <class>
# A list of the classes that a user is allowed to put themselves into.
# If a less specific class like 'digest' is given, users are allowed
# to put themselves into any of the more specific classes.
configset LISTNAME allowed_classes << ENDAAG
each
digest
nomail
ENDAAG
# allowed_flags
# (ACHPRS) [string] <flags>
# A string containing the flags that users are allowed to adjust. You
# need only include the uppercase flags here:
#
# A - ack
# C - elimatecc
# H - hide
# P - prefix
# R - replyto
# S - selfcopy
#
# If this is completely empty, users cannot adjust any of their flags.
# The list owner can of course do so.
configset LISTNAME allowed_flags = ACHPRS
# archive_dir
# () [directory] <archive>
# The directory where the mailing list archive is kept.
#
# If this is not set, Majordomo2 will look for a directory named "archive" in
# the public directory of the filespace. If it exists, archives will be
# placed there. If not, archives will not be generated and digests will not
# function.
configset LISTNAME archive_dir =
# archive_size
# (unlimited) [string] <archive>
# A string decribing the maximum size of a single archive file. When a
# message arrives that would cause an archive file to exceed the size set
# here, a new archive file is created with the final number incremented by
# one.
#
# Possible values are an integer followed by one of k, or m for
# kilobytes or messages. The value 'unlimited' is also permitted, in
# which case the archives will not have the following period and two
# digits appended.
#
# Note that changing this variable will only change the settings for new
# messages; old archives will not be renamed or altered in any way.
configset LISTNAME archive_size = unlimited
# archive_split /yearly,monthly,weekly,daily/
# (monthly) [enum] <archive>
# A word describing how the archive files should be split. Here are the
# possibilities, along with sample names of the archive files:
#
# yearly - 1999.00
# monthly - 199903.00
# weekly - 20021031.00
# daily - 21121002.00
#
# Note that archives will be further split by size; see the archive_size
# variable. This gives rise to the two trailing digits, which may not be
# present depending on the archive_size setting.
#
# Also note that changing this variable will only change the settings for new
# messages; old archives will not be renamed or altered in any way.
configset LISTNAME archive_split = monthly
# attachment_rules
# (empty) [attachment_rules] <resend>
#
# A table containing attachment rules, which describe how various MIME
# types are to be treated when they appear in messages sent to the list.
#
# A rule consists of a MIME type (or regular expression matching a MIME
# type) and a list of actions to perform when a message with this type
# or containing a part of this type passes through the list. It looks
# something like this:
#
# mime/type | action=argument
#
# Some MIME types are:
#
# text/plain, text/html, image/jpeg, video/mpeg
#
# Possible actions are:
#
# allow - let the part pass
# deny - reject the entire message
# discard - remove the part from the message and pass the rest
# consult - send the entire message to the list owner for approval
# (more are planned)
#
# allow and consult take an argument; if present, it should be a
# content-transfer-encoding. Majordomo2 will change the encoding of the
# part to match before it is sent. Some valid encodings are "8bit",
# "base64", "quoted-printable", "x-uuencode" and "x-gzip64". If an
# argument is not provided, the encoding will be left as is. Due to the
# nature of MIME, be aware that the encoding can be changed at any
# machine that the message passes through, so the encoding you choose
# will not necessarily be the encoding that list members will see (and
# some may see different encodings than the others).
#
# Note that the first matching rule is the one that is used and types
# are by default allowed if no rule matches. Deny and consult rules are
# applied first, and discard rules always apply, even for approved
# messages.
#
# Note also that deny and consult just set variables that can be checked
# in access_rules. The default rule for posting normally takes care of
# these, but if you add any additional rules is is possible to override
# the checks made here.
#
configset LISTNAME attachment_rules << ENDAAH
ENDAAH
# bounce_probe_frequency
# (0) [integer] <resend,deliver,bounce>
# This variable controls how often bounce probes are sent out.
#
# Bounce probing entails sending specially formatted messages such that the
# address causing a bounce is immediately obvious when the bounce is
# received. This requires that each mail transaction send to only one
# address, which places additional load on the mail server. To counter this,
# bounce probing is implemented in an incremental fashion.
#
# The address list is split into 'bounce_probe_frequency' pieces, and a
# different piece is probed for each message sent to the list. This lowers
# the overall load while still allowing complete probes to be done in a
# reasonable amount of time.
#
# The proper setting depends on a number of factors; it is generally
# desireable to probe the entire list once every several days and definitely
# not more frequently than once a day. Thus this should not be set lower
# than the expected number of messages per day. The upper bound depends on
# how much additional load the mail server(s) can tolerate.
#
# Setting this to zero disables regular bounce probing. Setting this to one
# probes every address for every message and may place an extreme load on the
# server(s). Note that this variable will be ignored if the MTA is qmail,
# because qmail does an equivalent kind of bounce probing itself.
configset LISTNAME bounce_probe_frequency =
# category
# () [string] <mj2,lists>
# A string used to categorize the list. Any string can be chosen; the
# value is used only in the output of the lists command to group and
# sort lists.
configset LISTNAME category =
# comments
# (empty) [string_array] <comments>
# Comment string that will be retained across config file rewrites.
configset LISTNAME comments << ENDAAI
ENDAAI
# date_info
# (yes) [bool] <mj2,messages>
# Put the last updated date for the info file at the top of the info
# file rather than having it appended with an info command. This is
# useful if the file is being looked at by some means other than
# mj2 (e.g. finger).
configset LISTNAME date_info = 1
# date_intro
# (yes) [bool] <mj2,messages>
# Put the last updated date for the intro file at the top of the intro
# file rather than having it appended with an intro command. This is
# useful if the file is being looked at by some means other than
# mj2 (e.g. finger).
configset LISTNAME date_intro = 1
# debug
# (0) [integer] <mtaconfig>
# When MTA configuration is suggested, this value will be used as the
# debug parameter. It is used to generate debugging information for
# this list. Higher values cause more debugging information to be
# generated. Values of 500 are generally sufficient for bug reporting;
# at 1000 a complete SMTP trace is generated which is useful for
# debugging MTA problems.
#
# Note that this only effects the generation of the MTA configuration
# information (i.e. suggested aliases) so that configuration information
# will have to be updated for this value to have any effect.
#
# If the MTA configuration is being automatically maintained by
# Majordomo2, it should be regenerated (using createlist-regen).
configset LISTNAME debug =
# default_class
# (each) [string] <class>
# When users first subscribe, they will be placed into this class. If
# the class given does not exist, they will be placed into the 'each'
# class, where they receive each message.
configset LISTNAME default_class = each
# default_flags
# (SPR) [string] <flags>
# A string containing the flags to be given to new subscribers unless they
# choose otherwise. Possible flags are:
#
# A - ackall
# a - ackimportant
# C - eliminatecc
# H - hideall
# h - hideaddress
# P - prefix
# R - replyto
# S - selfcopy
configset LISTNAME default_flags = SPR
# default_language
# (en) [string] <language>
# This sets the default language for the list (or the installation).
# This is overridable by the user in several ways. Note that at this
# time this is barely implemented. (Only English messages are supported
# at the moment.)
configset LISTNAME default_language = en
# delete_headers
# (X-Confirm-Reading-To ...) [string_array] <resend>
# Headers appearing in this list will be removed from the messages
# before being passed on to the recipients or placed into the archive.
configset LISTNAME delete_headers << ENDAAJ
X-Confirm-Reading-To
X-Ack
Sender
Return-Receipt-To
Flags
Priority
X-Pmrqc
Return-Path
ENDAAJ
# delivery_rules
# (empty) [delivery_rules] <delivery>
# A table containing delivery rules, which describe how Majordomo2 will
# deliver mail. In the simplest form, you can specify a host to use for
# delivery and a batch size. (This duplicates much of the functionality
# of bulk_mailer, for those familiar with it.)
#
# More complicated forms allow you specify a list of hosts to be used
# for parallel delivery, and to specify more powerful batching
# parameters.
#
# The most general form allows various addresses to be directed to
# different sets of hosts for delivery.
#
# Each delivery destination should begin with a line containing either a
# regular expression, or the word ALL. Addreses are compared against
# these in order; the first matching destination is chosen. This
# enables you to choose which addresses go to which sets of hosts.
#
# The remaining lines (up until the next blank) should consist of
# various parameters which affect delivery. The possible parameters
# are:
#
# numbatches=N
# Split the address list up into exactly N batches.
#
# maxaddrs=N
# Split the list into batches of N addresses apiece.
#
# maxdomains=N
# Split the address list into batches of N domains apiece. This
# differs from maxaddrs in that a batch can contain more than N
# addresses if several of them are in the same domain. This requires
# a sorted address list to function completely.
#
# minseparate=N
# If a domain appears more than N times in various addresses, they
# will all be given a separate batch. This can improve the average
# delivery time quite a bit if you have many addresses at large
# providers, since they will be delivered immediately without waiting
# for other addresses.
#
# Domains that do not appear more than N times are batched according
# to maxdomains, which should also be specified in order to set the
# batch size for the infrequently occurring hosts. If maxdomains is
# not also specified, maxdomains=20 is used.
#
# If neither of the above are specified, the default is numbatches=1,
# which duplicates the Majordomo2 1.x behavior.
#
# hosts=(hosta, hostb, hostc)
# A list of hostnames that Majordomo2 will connect to to deliver
# batches. If no hosts are given, Majordomo2 connects to localhost.
#
# Batches are delivered to each host in turn in a round-robin fashion.
# (Future enhancements will deliver batches to each host
# simulataneously to compensate for possible delays from individual
# hosts due to load or network traffic.)
#
# The hosts in this list are randomly reordered, so even if you use a
# single batch the load will be spread out over several messages.
#
# backup=(hostd, hoste, hostf)
# A list of backup hosts to use in case one or more of the regular
# delivery hosts are down. These will normally be ignored, but if
# there is a problem contacting one of the normal delivery hosts,
# these hosts will be used in addition to the other working hosts. In
# the event that no host is contactable, Majordomo2 will attempt to
# contact localhost. If that fails, Majorodmo will sleep for ten
# minutes and try the whole process again.
#
# sort
# Sort the address list. Many of the batching options depend on
# getting the addresses in sorted order and will not work as expected
# if the address are unsorted. Including the sort option causes the
# list to be sorted, but beware that this takes time and memory. This
# is not necessary (and will have no effect) when using a sorted
# database backend. A reasonable balance can be struck by sorting the
# list periodically (using the sortlist command) and not sorting here.
#
# Hosts in either the hosts or backup lists can also be specified with
# additional information, as follows:
#
# hosts=(hosta=(parameter1, param2=5), hostb=(param3), hostc)
#
# The host parameters are as follows:
#
# esmtp - speak ESMTP with the hosts if it is able.
# onex - send ESMTP ONEX to the host if it supports it.
# pipelining - send the ESMTP PIPELINING command to the host.
# timeout - the number of seconds to wait when opening a connection
# to the host
# port - the port number to connect to, if different from the
# usual SMTP port.
#
# If, instead of a host name, the string "@qmail" is used, Majordomo2
# will open a direct connection to the qmail-queue program and directly
# inject the message into the qmail delivery system. This assumes, of
# course, that you are running qmail.
#
# Examples (these are all separate):
#
# Duplicate bulk_mailer:
# ALL
# sort, maxdomains=20
#
# Use a remote exploder for Scandinavia:
# /(.fi|.no|.se)$/
# hosts=(nordland.no=(esmtp, onex), reallycold.se)
# backup=(my.host.com)
# numbatches=2
#
# ALL
# numbatches=1
# hosts=(my.host.com)
#
configset LISTNAME delivery_rules << ENDAAK
ENDAAK
# description
# (undef) [string] <mj2,lists>
# This is a short description of the list, used in the short listing.
# It should be no more than 50 characters in order to fit on the average
# terminal. If this is empty, the first line of 'description_long' is
# used. If both are empty, the string "(no description)" is used.
configset LISTNAME description =
# description_long
# (empty) [string_array] <lists>
# This is the list description that appears in the long listing. Each line
# should be no longer than 50 characters in order to fit on the average
# terminal. If this variable is empty, the value of 'description' is used.
# If both are empty, the string "(no description)" is used.
configset LISTNAME description_long << ENDAAL
ENDAAL
# digest_index_format /subject,subject_author/
# (subject) [enum] <digest>
# Selects one of the formats for each line in the index listing for the
# digests. The 'subject' format consists simply of the subjects of the
# messages. The 'subject_author' format, originally provided by Jeff
# Wasilko, provides an index like the following:
#
# A subject [User <user@example.com>]
# Another subject [Another User <otheruser@example.org>]
# A really, really, really, really, really really long subject
# [A Verbose user <verbose@example.com>]
configset LISTNAME digest_index_format = subject
# digest_issues
# (empty) [digest_issues] <digest>
# A table of digest name, volume, issue. This is maintained
# automatically by the digest system, and should be changed only with
# care.
# This variable is automatically maintained by Majordomo2. Uncomment to change.
# configset LISTNAME digest_issues << ENDAAM
# ENDAAM
# digests
# (empty) [digests] <digest>
#
# Data on the various digests that the list supports. A digest is
# defined by a name, a description, and several pieces of data that tell
# Majordomo2 when an issue should be generated. The following data can be given:
#
# name - A one-word name given to the digest. It is unwise to name
# the digest "mime" or "nomime".
#
# times - The times that digests are allowed to be created. Times are
# specified as any of the following:
#
# an integer from 0 to 23: digests will be created only
# during this hour of the day. (0 is midnight.)
#
# two integers separated by a dash: digests will be created
# anytime between these two hours. If the second number is
# less than the first, the range continues into the next
# day.
#
# the name (or a unique portion) of a day of the week, or a
# day of the month (as an ordinal): digests will be created
# anytime during that day. fri, tue, 1st, 26th
#
# a construct like fri(6) or 22nd(12-18) limits digest
# creation to those hours on those days.
#
# Commas can be used to make lists of hours or days, so you
# can have:
#
# mo(6,8,10), tu(12-18,22-6), we, 3rd(4,10-14)
#
# The default is to allow digest creation anytime.
#
# minsizes - The minimum amount of data (measured in messages or
# kilobytes) which must be collected before a digest will be
# generated. 10m gives a minimum size of 10 messages; 20k
# gives a minimum size of 20 kilobytes, and 10m, 20k will
# create a digest when either 10 messages or 20 kilobytes
# of message data have been collected. The default is no
# minimum.
#
# maxsizes - The maximum size of digest that will be created. Specify
# either messages or kilobytes or both as with minsizes. The
# default is no maximum.
#
# maxage - If an article is older than this, a digest will be created
# even if enough messages have not been collected. This
# prevents messages from becoming "stale" on low traffic
# lists. Specify hours like 12h, days like 4d and weeks like
# 2w. The default is no maximum age.
#
# separate - The minimum amount of time that separates digests. When
# messages come in quickly, or when a body of messages builds
# up during the times that digests are not allowed to be
# generated, it is possible that there are too many messages
# to be sent in a single digest and perhaps enough messages
# to fill more than one digest. To prevent multiple digests
# from being generated too close to one another, set this to
# some amound of time. To generate as many digests as
# necessary to clear out the backlog, leave this unset.
#
# minage - A digest will not be created if it most recent article is
# younger than this. This is intended to prevent digest
# creation in the middle of active discussion. The default
# is no minimum age.
#
# deftype -- This specifies the type of digest that new subscribers get
# by default. Currently only MIME and index digests are
# supported. The default is MIME.
#
# These settings take precedence in the following order:
#
# A digest is always created when triggered if there is a waiting
# message older than 'maxage', even if this means violating minimum
# size limits.
#
# Otherwise, digests will only be created if there are enough messages
# (minsizes), the last mesage which would be included in the digest is
# old enough (minage) and the time is right (time), meaning that the
# day is proper and either the hour is in a given range or a single
# hour was given and no digest has been triggered in that hour.
#
# Each digest is defined by two lines. The first contains data in the
# following order, separated by vertical bars ('|') or colons:
#
# name | times | minsizes | maxsizes | maxage | separate | minage | deftype
#
# The second line holds a description of the digest.
#
# Here is an example, defining two digests:
#
# daily | 23 | 20K, 5m | 40K, 10m | 3d | 1d | | mime
# The test-list daily digest
# weekly | fr(23) |20k, 5m | 100k,30m | | | | index
# The test-list weekly index
configset LISTNAME digests << ENDAAN
ENDAAN
# dup_lifetime
# (28) [integer] <resend,mj2>
# The number of days that entries in the duplicate databases will be
# kept. Majordomo2 saves information about Message-ID:s and various
# checksums of messages that pass through the list in order to filter
# out duplicates. To limit database size and to cut down on the
# possibility of false positives, these entries are periodically
# trimmed after this number of days.
configset LISTNAME dup_lifetime = 28
# faq_access /open,closed,list/
# (list) [enum] <access,mj2>
# One of three values: open, list, closed. Open allows anyone access to this
# command. List allows only list members access, while closed completely
# disables the command for everyone.
configset LISTNAME faq_access = list
# file_search
# (:$LANG ...) [list_array] <filespace>
# This provides a search-path mechanism for filename lookup. Entries are of
# the form
#
# list:path
#
# where 'list' is the name of a list and path is the path within the
# list's filespace. 'list' can be empty, in which case this list is used.
# 'path' can be empty, in which case the root of the filespace is used.
# Thus ':' refers to the top of the filespace of this list.
#
# To access files of another list, that list must must contain this
# list's name in its file_share variable. If the referenced list does
# not share with this list, the relevant entries will be ignored.
#
# When it appears in the list slot, the special string 'STOCK'
# indicates that the stock library of default files is searched.
# Majordomo2 comes with a library of files in various languages and these
# can be explicitly searched.
#
# Note that the special list 'GLOBAL' exists to provide defaults for
# all lists in the domain. GLOBAL and STOCK share all their files with
# all lists.
#
# If '$LANG' appears in the path portion, it is expanded to the user's
# current language choice if one is available. If one is not available,
# it will expand to the value of the 'default_language' variable.
#
# Certain directories of the GLOBAL and STOCK lists are always searched
# after everything else to provide defaults; these directories
# correspond to the following entries:
#
# GLOBAL:$LANG
# GLOBAL:
# STOCK:$LANG
# STOCK:en
#
# Thus any domain-local files in the preferred language are searched,
# followed by any domain-local files not in any specific language
# directory, followed by stock files in the preferred language, finally
# followed by English files. An English version of any file which
# Majordomo2 makes use of internally will always be present.
configset LISTNAME file_search << ENDAAO
:$LANG
:
ENDAAO
# file_share
# (empty) [list_array] <filespace>
# This should contain the names (one per line) of every list which is
# allowed to access files from this list's filespace.
configset LISTNAME file_share << ENDAAP
ENDAAP
# filedir
# (undef) [directory] <filespace>
# The directory where the filespace for the list is kept.
configset LISTNAME filedir =
# get_access /open,closed,list/
# (list) [enum] <access,mj2>
# One of three values: open, list, closed. Open allows anyone access to this
# command. List allows only list members access, while closed completely
# disables the command for everyone.
configset LISTNAME get_access = list
# index_access /open,closed,list/
# (open) [enum] <access,mj2>
# One of three values: open, list, closed. Open allows anyone access to this
# command. List allows only list members access, while closed completely
# disables the command for everyone.
configset LISTNAME index_access = open
# info_access /open,closed,list/
# (open) [enum] <access,mj2>
# One of three values: open, list, closed. Open allows anyone access to this
# command. List allows only list members access, while closed completely
# disables the command for everyone.
configset LISTNAME info_access = open
# inform
# (empty) [inform] <inform>
# This controls just what actions the list owner will be informed of and
# what will be logged. The format of each line is:
#
# request | status | actions
#
# where request is subscribe, lists, post, etc., status is a comma
# separated list of:
#
# succeed: perform the actions if the request succees.
# fail: perform the actions if the request fails.
# stall: perform the actions if the request is stalled.
# any: always perform the actions
#
# and actions is a comma separated list of:
#
# ignore: completelu ignore the request
# report: log the request for later reposting
# inform: inform the owner immediately
#
# ignore overrides the others.
#
# If a request is not specified, the default behavior for subscribe and
# unsubscribe is to inform on success, report otherwise. The default
# behavior for all other requests is to report always. This
# approximates the 1.9x behavior.
#
# Note that all actions are logged; this only affects which actions are
# deemed important enough to send mail about and which will be reported.
configset LISTNAME inform << ENDAAQ
ENDAAQ
# intro_access /open,closed,list/
# (list) [enum] <access,mj2>
# One of three values: open, list, closed. Open allows anyone access to this
# command. List allows only list members access, while closed completely
# disables the command for everyone.
configset LISTNAME intro_access = list
# master_password
# (LISTNAME.pass) [pw] <password>
# This is the master password for the list. A user having this password
# can perform any list action and change any list data.
configset LISTNAME master_password = PASSWORD_HERE
# max_header_line_length
# (448) [integer] <resend>
# Sets the maximum length of a single header in an unapproved message.
# This can be used to prevent excessive CC'ing or to cur down on some
# types of spam. Set to zero to disable length checks on single
# headers.
configset LISTNAME max_header_line_length = 448
# max_mime_header_length
# (128) [integer] <resend>
# Sets the maximum length of any single header in a MIME part. Some mail
# reading programs are subject to crashing or security exploits when passed
# messages with MIME headers that exceed a certain length. While these
# mailers are definitely flawed and their users should contact the
# manufacturers for upgrades, this variable is provided to filter out such
# messages.
#
# Note that this setting does not implement any filtering for the security
# exploits that can occur in the contents of the various parts of the body of
# a message; this must be done with appropriate settings of taboo_body and
# attachment_rules. (Filtering of HTML mail is recommended to help eliminate
# exploits which lie in HTML tags.)
configset LISTNAME max_mime_header_length = 128
# max_total_header_length
# (2048) [integer] <resend>
# Sets the maximum length of the headers in an unapproved message. Set to
# zero to disable the total length check.
configset LISTNAME max_total_header_length = 2048
# maxlength
# (40000) [integer] <resend>
# The maximum size of an unapproved message in characters. Set to zero to
# disable the message length check.
configset LISTNAME maxlength = 40000
# message_footer
# (empty) [string_2darray] <resend,digest>
# This contains blocks of text, called footers, that can be added to
# the beginning of outgoing messages. You can include multiple footers
# here by separating them by blank lines. When a footer is to be
# added, it is chosen at random from the footers given here.
#
# The following strings can be placed in footers; they well be
# converted to the appropriate text when the footer is inserted into
# the message:
#
# $LIST - the name of the list
# $VERSION - the version of Majordomo2
# $SENDER - the person who sent the message
#
# Note that for multipart messages, footers appear as separate parts at
# the end of the message and that footers are not added at all to single
# part message that are not of type text/plain. (This avoids destroying
# the content of structured messages.)
#
# The frequency with which footers appear can be controlled with the
# variable "message_footer_frequency".
configset LISTNAME message_footer << ENDAAR
ENDAAR
# message_footer_frequency
# (100) [integer] <resend>
# Controls how often a message_footer will be added to outgoing
# messages. Set this to a number and on average footers will be added
# to that percentage of messagees. If this is set to 100 or greater,
# footers will always be added. If set to 0 or below, footers will
# never be added (even if footers are defined).
#
# Note that this only makes sense if one or more footers have been set
# in message_footer. Note also that this only controls the probability
# that a footer will be added; the process itself is random.
configset LISTNAME message_footer_frequency = 100
# message_fronter
# (empty) [string_2darray] <resend,digest>
# This contains blocks of text, called fronters, that can be added to
# the beginning of outgoing messages. You can include multiple fronters
# here by separating them by blank lines. When a fronter is to be
# added, it is chosen at random from the fronters given here.
#
# The following strings can be placed in fronters; they well be
# converted to the appropriate text when the fronter is inserted into
# the message:
#
# $LIST - the name of the list
# $VERSION - the version of Majordomo2
# $SENDER - the person who sent the message
# XXX (_SUBJECTS_) ???
#
# Note that for multipart messages, fronters appear as separate parts at
# the beginning of the message and that fronters are not added at all to
# single part message that are not of type text/plain. (This avoids
# destroying the content of structured messages.)
#
# The frequency with which fronters appear can be controlled with the
# variable "message_fronter_frequency".
configset LISTNAME message_fronter << ENDAAS
ENDAAS
# message_fronter_frequency
# (100) [integer] <resend>
# Controls how often a message_fronter will be added to outgoing
# messages. Set this to a number and on average fronters will be added
# to that percentage of messagees. If this is set to 100 or greater,
# fronters will always be added. If set to 0 or below, fronters will
# never be added (even if fronters are defined).
#
# Note that this only makes sense if one or more fronters have been set
# in message_fronter. Note also that this only controls the probability
# that a fronter will be added; the process itself is random.
configset LISTNAME message_fronter_frequency = 100
# message_headers
# (empty) [string_array] <resend,digest>
# These headers will be appended to the headers of the posted message.
# The text is expanded before being used. The following expansion
# tokens are defined:
# $LIST - the name of the current list,
# $SENDER - the sender as taken from the from line,
# $SEQNO - the contents of the sequence_number variable, which is
# automatically incremented each time a message is posted
# $ARCHIVE - the number of this message in the archives
# $VERSION - the version of Majordomo2.
configset LISTNAME message_headers << ENDAAT
ENDAAT
# moderate
# (no) [bool] <resend,access>
# If yes, all postings to the list must be approved by the moderator.
configset LISTNAME moderate =
# moderator
# (undef) [word] <resend,access>
# List messages requiring consultation will be sent to this address.
# This is overridden by the addresses in 'moderators'.
configset LISTNAME moderator =
# moderator_group
# (0) [integer] <resend,access>
# List messages requiring consulataion will be sent to this many of the
# addresses in 'moderators', chosen at random. If this is zero, the
# message will be sent to all of the addresses in 'moderators'.
configset LISTNAME moderator_group =
# moderators
# (empty) [address_array] <resend,access>
# List messages requiring consultation will be sent to
# 'moderator_group' (or all) of these addresses. Any of them may
# approve or reject the message.
configset LISTNAME moderators << ENDAAU
ENDAAU
# noadvertise
# (empty) [regexp_array] <mj2,access,advertise,lists>
# If the requestor name matches one of these regexps, then the list will
# not be listed in the output of a lists command. Noadvertise overrides
# advertise.
configset LISTNAME noadvertise << ENDAAV
ENDAAV
# nonmember_flags
# () [string] <flags>
# A string containing the flags which apply to users who are not list members
# when they send messages to the list. Only a very few flags make sense in
# this case. They are:
#
# A - ackall
# a - ackimportant
configset LISTNAME nonmember_flags =
# override_reply_to
# (no) [bool] <resend>
# If a reply-to header exists in the message and the list is configured
# to add one of its own, should the existing one be deleted and replaced
# with the list's? If set to no, the list will not add its reply-to
# header if one is already present.
configset LISTNAME override_reply_to =
# owners
# (empty) [address_array] <mj2>
# Who owns this list or mj2 installation? Majordomo2 will internally
# forward mail received at the -owner address to all of these addresses.
configset LISTNAME owners << ENDAAW
tkl@csc.ncsu.edu
ENDAAW
# passwords
# (empty) [passwords] <password>
# A table of passwords, the actions they allow a user to perform, and an
# optional list of user names which they are bound to. The table should
# look like so:
#
# password1 : action, action, action
# password2 : action, action : user@host.dom, blah@urk.org
#
# If no users are listed, the password can be used by all users. Any
# addresses listed are put through the transformation and aliasing
# processes before being used.
#
# The following actions are permitted:
#
# config_xyz - allows the user to view and alter the contents of
# config variables in the group "xyz".
#
# XXX List all of the actions here!
configset LISTNAME passwords << ENDAAX
ENDAAX
# precedence
# (bulk) [word] <resend>
# Put a precedence header with value <value> into the outgoing message.
configset LISTNAME precedence = bulk
# purge_received
# (no) [bool] <resend>
# Remove all received lines before resending the message.
configset LISTNAME purge_received =
# quote_regexp
# (/^( - | : | > | [a-z]+> )/xi) [regexp] <resend>
# A regular expression used to match quoted text in message bodies.
# This is used to generate the counts and percentages of quoted text.
configset LISTNAME quote_regexp = /^( - | : | > | [a-z]+> )/xi
# reply_to
# (undef) [word] <resend>
# Put a reply-to header with value <value> into the outgoing message. If the
# following strings appear here, they will be converted to the appropriate
# text when the header is inserted into the message:
#
# $HOST - the hostname of the server (from the resend_host variable)
# $LIST - the name of the list
# $SENDER - the address of person who sent the message
# $SEQNO - the message sequence number
#
# Note that a preexisting Reply-To: header will not be replaced unless
# override_reply_to is true.
configset LISTNAME reply_to =
# resend_host
# (csc.ncsu.edu) [word] <resend>
# The host name that is appended to all address strings specified for
# resend.
configset LISTNAME resend_host = csc.ncsu.edu
# restrict_post
# (empty) [restrict_post] <resend,access>
#
# If defined only addresses belonging to one of the listed sublists will
# be allowed to post to the list. This variable's function is
# completely encapsulated within the access_rules mechanism, but it
# remains for backwards compatibility and because it's simpler to use.
#
# This is an array variable, but for backwards compatibility the first
# item is split on spaces, tabs, and colons.
configset LISTNAME restrict_post << ENDAAY
ENDAAY
# sender
# (LISTNAME-owner) [address] <resend>
# The envelope and sender address for the resent mail. This string has
# "@" and the value of resend_host appended to it to make a complete
# address. For mj2, it provides the sender address for the
# welcome mail message generated as part of the subscribe command.
configset LISTNAME sender = LISTNAME-owner
# sequence_number
# (1) [integer] <resend>
# This is the sequence number used to number messages which pass through the
# list. It is automatically incremented by one for each message. It may be
# manually set here.
# This variable is automatically maintained by Majordomo2. Uncomment to change.
# configset LISTNAME sequence_number = 1
# subject_prefix
# (undef) [string] <resend>
# This word will be prefixed to the subject line, if it is not already
# in the subject. The text is expanded before being used. The following
# expansion tokens are defined:
# $LIST - the name of the current list
# $SEQNO - the contents of the sequence_number variable, which is
# automatically incremented each time a message is posted
# $VERSION - the version of Majordomo2
configset LISTNAME subject_prefix =
# subscribe_policy /open,closed,auto,open+confirm,closed+confirm,auto+confirm/
# (open+confirm) [enum] <mj2,access,subscribe>
# One of three values: open, closed, auto; plus an optional modifier:
# '+confirm'. Open allows people to subscribe themselves to the list,
# but attempts to subscribe addresses diferent than where the request is
# coming from will require approval. Auto allows anybody to subscribe
# anybody to the list without maintainer approval. Closed requires
# maintainer approval for all subscribe requests to the list. Adding
# '+confirm', (i.e. 'open+confirm') will cause mj2 to send a reply
# back to the subscriber which includes a authentication number which
# must be sent back in with another subscribe command.
configset LISTNAME subscribe_policy = open+confirm
# taboo_body
# (empty) [taboo_body] <resend>
# If any line of the body matches one of these regexps, then the message
# will be bounced for review. XXX Ugh.
configset LISTNAME taboo_body << ENDAAZ
ENDAAZ
# taboo_headers
# (empty) [taboo_headers] <resend>
# If any of the headers matches one of these regexps, then the message
# will be bounced for review. XXX Ugh.
configset LISTNAME taboo_headers << ENDABA
ENDABA
# token_lifetime
# (7) [integer] <access,token>
# The number of days that a token will be allowed to live without being
# acknowledged (either approved or rejected). Tokens existing longer
# than this many days are deleted at every daily trigger.
configset LISTNAME token_lifetime = 7
# token_remind
# (4) [integer] <access,token>
# If a token exists longer than this many days, a reminder message will
# be sent. If this is unset or zero, no reminders will be sent.
configset LISTNAME token_remind = 4
# unsubscribe_policy /open,closed,auto/
# (open) [enum] <mj2,access,subscribe>
# One of three values: open, closed, auto. Open allows people to
# unsubscribe themselves from the list. Auto allows anybody to
# unsubscribe anybody to the list without maintainer approval. Closed
# requires maintainer approval for all unsubscribe requests to the list.
configset LISTNAME unsubscribe_policy = open
# welcome
# (yes) [bool] <mj2,welcome>
# If this is on, new subscribers (or registered users) will be sent a welcome
# message.
configset LISTNAME welcome = 1
# welcome_files
# (empty) [welcome_files] <mj2,welcome>
#
# A table containing a list of files and descriptions that should be
# sent to new subscribers, like so:
#
# Welcome to the mailing list!
# welcome
# Picture of the list owner!
# owner.jpg : P
# Mailing list FAQ
# faq.txt
#
# Each table record takes two lines. The first should be an explanatory
# message, which will go in the subject or content-description header as
# appropriate. (If this is empty, the file's description will be used.)
# The second is broken into fields by ":" or "|".
#
# The first field is the name of the file, in the file space of the
# list.
#
# The second should be either "N", meaning that the file will be sent as
# a separate piece of mail, or "P", meaning that the file will be
# attached to the previous file. The default is "N". In addition, an
# "S" can be added, indicating that the file should undergo variable
# substitution. Currently the following substitutions are supported:
#
# $USER - the address of the user
# $LIST - the list name
# $REQUEST - the list-request address
# $Majordomo2 - the address of the mj2 server
# $OWNER - the address of the mj2 owner
#
configset LISTNAME welcome_files << ENDABB
ENDABB
# which_access /open,closed,list/
# (open) [enum] <access,mj2>
# One of three values: open, list, closed. Open allows anyone access to this
# command. List allows only list members access, while closed completely
# disables the command for everyone.
configset LISTNAME which_access = open
# who_access /open,closed,list/
# (open) [enum] <access,mj2>
# One of three values: open, list, closed. Open allows anyone access to this
# command. List allows only list members access, while closed completely
# disables the command for everyone.
configset LISTNAME who_access = open
# whoami
# (LISTNAME) [address] <mj2>
# What address do users send requests to?
configset LISTNAME whoami = LISTNAME
# whoami_owner
# (LISTNAME-owner) [address] <mj2>
# Where to bounces from the whoami address go?
configset LISTNAME whoami_owner = LISTNAME-owner
Last modified on
June 15, 2005
by dlschmid
|