link to content
Essentials at NC State Home
skip header navigation and go to content Help | ResNet | Computing@NC State | For OIT Staff | Publications | Search NC State | Feedback | Site Map
your unity account
antivirus & security
email & messaging
connections & labs
your computer
software@nc state
files
web pages
education & training
publications
other resources
troubleshooting
ITD Sections

Majordomo2 Logo

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

jump back to content/page ends, begin footer
jump to content
jump to content Go to page top Page Top | Site Map | OIT | Policy Disclaimer | Site Survey