# -*- python -*-
# -*- coding: us-ascii -*-
## "aoh" mailing list configuration settings
## captured on Wed Dec 8 15:30:26 2010
## General options
#
# Fundamental list characteristics, including descriptive info and basic
# behaviors.
# The capitalization of this name can be changed to make it presentable
# in polite company as a proper noun, or to make an acronym part all
# upper case, etc. However, the name will be advertised as the email
# address (e.g., in subscribe confirmation notices), so it should not be
# otherwise altered. (Email addresses are not case sensitive, but they
# are sensitive to almost everything else :-)
real_name = 'aoh'
# There are two ownership roles associated with each mailing list. The
# list administrators are the people who have ultimate control over all
# parameters of this mailing list. They are able to change any list
# configuration variable available through these administration web
# pages.
#
# The list moderators have more limited permissions; they are not able
# to change any list configuration variable, but they are allowed to
# tend to pending administration requests, including approving or
# rejecting held subscription requests, and disposing of held postings.
# Of course, the list administrators can also tend to pending requests.
#
# In order to split the list ownership duties into administrators and
# moderators, you must set a separate moderator password, and also
# provide the email addresses of the list moderators. Note that the
# field you are changing here specifies the list administrators.
owner = ['rowan@kaospilot.dk']
# There are two ownership roles associated with each mailing list. The
# list administrators are the people who have ultimate control over all
# parameters of this mailing list. They are able to change any list
# configuration variable available through these administration web
# pages.
#
# The list moderators have more limited permissions; they are not able
# to change any list configuration variable, but they are allowed to
# tend to pending administration requests, including approving or
# rejecting held subscription requests, and disposing of held postings.
# Of course, the list administrators can also tend to pending requests.
#
# In order to split the list ownership duties into administrators and
# moderators, you must set a separate moderator password, and also
# provide the email addresses of the list moderators in this section.
# Note that the field you are changing here specifies the list
# moderators.
moderator = []
# This description is used when the mailing list is listed with other
# mailing lists, or in headers, and so forth. It should be as succinct
# as you can get it, while still identifying what the list is.
description = 'Art of Hosting (censored, semi-public)'
# The text will be treated as html except that newlines will be
# translated to
- so you can use links, preformatted text, etc, but
# don't put in carriage returns except where you mean to separate
# paragraphs. And review your changes - bad html (like some
# unterminated HTML constructs) can prevent display of the entire
# listinfo page.
info = """Open list for Art of Hosting.
Member postings are held for moderation if their moderation # flag is turned on. You can control whether member postings are # moderated by default or not. # #
Non-member postings can be automatically accepted, # held for # moderation, rejected # (bounced), or discarded, either individually or as a group. Any posting from a # non-member who is not explicitly accepted, rejected, or discarded, # will have their posting filtered by the general # non-member rules. # #
In the text boxes below, add one address per line; start the line # with a ^ character to designate a Python regular # expression. When entering backslashes, do so as if you were using # Python raw strings (i.e. you generally just use a single backslash). # #
Note that non-regexp matches are always done first.
# Each list member has a moderation flag which says whether messages
# from the list member can be posted directly to the list, or must first
# be approved by the list moderator. When the moderation flag is turned
# on, list member postings must be approved first. You, the list
# administrator can decide whether a specific individual's postings will
# be moderated or not.
#
# When a new member is subscribed, their initial moderation flag takes
# its value from this option. Turn this option off to accept member
# postings by default. Turn this option on to, by default, moderate
# member postings first. You can always manually set an individual
# member's moderation bit by using the membership management screens.
#
# legal values are:
# 0 = "No"
# 1 = "Yes"
default_member_moderation = 0
# Hold -- this holds the message for approval by the list moderators.
#
# Reject -- this automatically rejects the message by sending a bounce
# notice to the post's author. The text of the bounce notice can be configured by
# you.
#
# Discard -- this simply discards the message, with no notice sent to
# the post's author.
#
#
# legal values are:
# 0 = "Hold"
# 1 = "Reject"
# 2 = "Discard"
member_moderation_action = 0
# Text to include in any rejection
# notice to be sent to moderated members who post to this list.
member_moderation_notice = ''
# Postings from any of these non-members will be automatically accepted
# with no further moderation applied. Add member addresses one per
# line; start the line with a ^ character to designate a regular
# expression match. A line consisting of the @ character followed by a
# list name specifies another Mailman list in this installation, all of
# whose member addresses will be accepted for this list.
accept_these_nonmembers = ['']
# Postings from any of these non-members will be immediately and
# automatically held for moderation by the list moderators. The sender
# will receive a notification message which will allow them to cancel
# their held message. Add member addresses one per line; start the line
# with a ^ character to designate a regular expression match.
hold_these_nonmembers = []
# Postings from any of these non-members will be automatically rejected.
# In other words, their messages will be bounced back to the sender with
# a notification of automatic rejection. This option is not appropriate
# for known spam senders; their messages should be automatically
# discarded.
#
# Add member addresses one per line; start the line with a ^ character
# to designate a regular expression match.
reject_these_nonmembers = []
# Postings from any of these non-members will be automatically
# discarded. That is, the message will be thrown away with no further
# processing or notification. The sender will not receive a
# notification or a bounce, however the list moderators can optionally
# receive
# copies of auto-discarded messages..
#
# Add member addresses one per line; start the line with a ^ character
# to designate a regular expression match.
discard_these_nonmembers = []
# When a post from a non-member is received, the message's sender is
# matched against the list of explicitly accepted,
# held, rejected (bounced), and discarded
# addresses. If no match is found, then this action is taken.
#
# legal values are:
# 0 = "Accept"
# 1 = "Hold"
# 2 = "Reject"
# 3 = "Discard"
generic_nonmember_action = 1
# Should messages from non-members, which are automatically discarded,
# be forwarded to the list moderator?
#
# legal values are:
# 0 = "No"
# 1 = "Yes"
forward_auto_discards = True
# Text to include in any rejection notice to be sent to non-members who
# post to this list. This notice can include the list's owner address by
# %(listowner)s and replaces the internally crafted default message.
nonmember_rejection_notice = ''
## Privacy options
#
# This section allows you to configure various filters based on the
# recipient of the message.
# Many (in fact, most) spams do not explicitly name their myriad
# destinations in the explicit destination addresses - in fact often the
# To: field has a totally bogus address for obfuscation. The constraint
# applies only to the stuff in the address before the '@' sign, but
# still catches all such spams.
#
# The cost is that the list will not accept unhindered any postings
# relayed from other addresses, unless
#
#
# The relaying address has the same name, or
#
# The relaying address name is included on the options that specifies
# acceptable aliases for the list.
#
#
#
# legal values are:
# 0 = "No"
# 1 = "Yes"
require_explicit_destination = 1
# Alternate addresses that are acceptable when
# `require_explicit_destination' is enabled. This option takes a list
# of regular expressions, one per line, which is matched against every
# recipient address in the message. The matching is performed with
# Python's re.match() function, meaning they are anchored to the start
# of the string.
#
# For backwards compatibility with Mailman 1.1, if the regexp does not
# contain an `@', then the pattern is matched against just the local
# part of the recipient address. If that match fails, or if the pattern
# does contain an `@', then the pattern is matched against the entire
# recipient address.
#
# Matching against the local part is deprecated; in a future release,
# the pattern will always be matched against the entire recipient
# address.
acceptable_aliases = ''
# If a posting has this number, or more, of recipients, it is held for
# admin approval. Use 0 for no ceiling.
max_num_recipients = 0
## Privacy options
#
# This section allows you to configure various anti-spam filters posting
# filters, which can help reduce the amount of spam your list members
# end up receiving.
#
# Each header filter rule has two parts, a list of regular expressions,
# one per line, and an action to take. Mailman matches the message's
# headers against every regular expression in the rule and if any match,
# the message is rejected, held, or discarded based on the action you
# specify. Use Defer to temporarily disable a rule.
#
# You can have more than one filter rule for your list. In that case,
# each rule is matched in turn, with processing stopped after the first
# match.
#
# Note that headers are collected from all the attachments (except for
# the mailman administrivia message) and matched against the regular
# expressions. With this feature, you can effectively sort out messages
# with dangerous file types or file name extensions.
header_filter_rules = [('X-Spam-Status: Yes', 3, False)]
# Use this option to prohibit posts according to specific header values.
# The target value is a regular-expression for matching against the
# specified header. The match is done disregarding letter case. Lines
# beginning with '#' are ignored as comments.
#
# For example:to: .*@public.com says to hold all postings with a To:
# mail header containing '@public.com' anywhere among the addresses.
#
# Note that leading whitespace is trimmed from the regexp. This can be
# circumvented in a number of ways, e.g. by escaping or bracketing it.
bounce_matching_headers = """# Lines that *start* with a '#' are comments.
to: friend@public.com
message-id: relay.comanche.denmark.eu
from: list@listme.com
from: .*@uplinkpro.com"""
## Bounce options
#
# These policies control the automatic bounce processing system in
# Mailman. Here's an overview of how it works.
#
# When a bounce is received, Mailman tries to extract two pieces of
# information from the message: the address of the member the message
# was intended for, and the severity of the problem causing the bounce.
# The severity can be either hard or soft meaning
# either a fatal error occurred, or a transient error occurred. When in
# doubt, a hard severity is used.
#
# If no member address can be extracted from the bounce, then the
# bounce is usually discarded. Otherwise, each member is assigned a
# bounce score and every time we encounter a bounce from this
# member we increment the score. Hard bounces increment by 1 while soft
# bounces increment by 0.5. We only increment the bounce score once per
# day, so even if we receive ten hard bounces from a member per day,
# their score will increase by only 1 for that day.
#
# When a member's bounce score is greater than the bounce score
# threshold, the subscription is disabled. Once disabled, the
# member will not receive any postings from the list until their
# membership is explicitly re-enabled (either by the list administrator
# or the user). However, they will receive occasional reminders that
# their membership has been disabled, and these reminders will include
# information about how to re-enable their membership.
#
# You can control both the number of
# reminders the member will receive and the frequency with which these reminders are sent.
#
# There is one other important configuration variable; after a
# certain period of time -- during which no bounces from the member are
# received -- the bounce information is considered stale
# and discarded. Thus by adjusting this value, and the score threshold,
# you can control how quickly bouncing members are disabled. You should
# tune both of these to the frequency and traffic volume of your list.
# By setting this value to No, you disable all automatic bounce
# processing for this list, however bounce messages will still be
# discarded so that the list administrator isn't inundated with them.
#
# legal values are:
# 0 = "No"
# 1 = "Yes"
bounce_processing = True
# Each subscriber is assigned a bounce score, as a floating point
# number. Whenever Mailman receives a bounce from a list member, that
# member's score is incremented. Hard bounces (fatal errors) increase
# the score by 1, while soft bounces (temporary errors) increase the
# score by 0.5. Only one bounce per day counts against a member's
# score, so even if 10 bounces are received for a member on the same
# day, their score will increase by just 1.
#
# This variable describes the upper limit for a member's bounce score,
# above which they are automatically disabled, but not removed from the
# mailing list.
bounce_score_threshold = 5.0
# The number of days after which a member's bounce information is
# discarded, if no new bounces have been received in the interim. This
# value must be an integer.
bounce_info_stale_after = 7
# How many Your Membership Is Disabled warnings a disabled member should
# get before their address is removed from the mailing list. Set to 0
# to immediately remove an address from the list once their bounce score
# exceeds the threshold. This value must be an integer.
bounce_you_are_disabled_warnings = 3
# The number of days between sending the Your Membership Is Disabled
# warnings. This value must be an integer.
bounce_you_are_disabled_warnings_interval = 7
# While Mailman's bounce detector is fairly robust, it's impossible to
# detect every bounce format in the world. You should keep this
# variable set to Yes for two reasons: 1) If this really is a permanent
# bounce from one of your members, you should probably manually remove
# them from your list, and 2) you might want to send the message on to
# the Mailman developers so that this new format can be added to its
# known set.
#
# If you really can't be bothered, then set this variable to No and all
# non-detected bounces will be discarded without further processing.
#
# Note: This setting will also affect all messages sent to your list's
# -admin address. This address is deprecated and should never be used,
# but some people may still send mail to this address. If this happens,
# and this variable is set to No those messages too will get discarded.
# You may want to set up an autoresponse message for email to the -owner
# and -admin address.
#
# legal values are:
# 0 = "No"
# 1 = "Yes"
bounce_unrecognized_goes_to_list_owner = True
# By setting this value to No, you turn off notification messages that
# are normally sent to the list owners when a member's delivery is
# disabled due to excessive bounces. An attempt to notify the member
# will always be made.
#
# legal values are:
# 0 = "No"
# 1 = "Yes"
bounce_notify_owner_on_disable = True
# By setting this value to No, you turn off notification messages that
# are normally sent to the list owners when a member is unsubscribed due
# to excessive bounces. An attempt to notify the member will always be
# made.
#
# legal values are:
# 0 = "No"
# 1 = "Yes"
bounce_notify_owner_on_removal = True
## Archive options
#
# List traffic archival policies.
# Archive messages?
#
# legal values are:
# 0 = "No"
# 1 = "Yes"
archive = True
# Is archive file source for public or private archival?
#
# legal values are:
# 0 = "public"
# 1 = "private"
archive_private = 1
# How often should a new archive volume be started?
#
# legal values are:
# 0 = "Yearly"
# 1 = "Monthly"
# 2 = "Quarterly"
# 3 = "Weekly"
# 4 = "Daily"
archive_volume_frequency = 1
## Gateway options
#
# Mail-to-News and News-to-Mail gateway services.
# This value may be either the name of your news server, or optionally
# of the format name:port, where port is a port number.
#
# The news server is not part of Mailman proper. You have to already
# have access to an NNTP server, and that NNTP server must recognize the
# machine this mailing list runs on as a machine capable of reading and
# posting news.
nntp_host = ''
# The name of the Usenet group to gateway to and/or from.
linked_newsgroup = ''
# Should new posts to the mailing list be sent to the newsgroup?
#
# legal values are:
# 0 = "No"
# 1 = "Yes"
gateway_to_news = 0
# Should new posts to the newsgroup be sent to the mailing list?
#
# legal values are:
# 0 = "No"
# 1 = "Yes"
gateway_to_mail = 0
# This setting determines the moderation policy of the newsgroup and its
# interaction with the moderation policy of the mailing list. This only
# applies to the newsgroup that you are gatewaying to, so if you are
# only gatewaying from Usenet, or the newsgroup you are gatewaying to is
# not moderated, set this option to None.
#
# If the newsgroup is moderated, you can set this mailing list up to be
# the moderation address for the newsgroup. By selecting Moderated, an
# additional posting hold will be placed in the approval process. All
# messages posted to the mailing list will have to be approved before
# being sent on to the newsgroup, or to the mailing list membership.
#
# Note that if the message has an Approved header with the list's
# administrative password in it, this hold test will be bypassed,
# allowing privileged posters to send messages directly to the list and
# the newsgroup.
#
# Finally, if the newsgroup is moderated, but you want to have an open
# posting policy anyway, you should select Open list, moderated group.
# The effect of this is to use the normal Mailman moderation facilities,
# but to add an Approved header to all messages that are gatewayed to
# Usenet.
#
# legal values are:
# 0 = "None"
# 1 = "Open list, moderated group"
# 2 = "Moderated"
news_moderation = 0
# Mailman prefixes Subject: headers with text you can customize and
# normally, this prefix shows up in messages gatewayed to Usenet. You
# can set this option to No to disable the prefix on gated messages. Of
# course, if you turn off normal Subject: prefixes, they won't be
# prefixed for gated messages either.
#
# legal values are:
# 0 = "No"
# 1 = "Yes"
news_prefix_subject_too = 1
## Autoreply options
#
# Auto-responder characteristics.
#
# In the text fields below, string interpolation is performed with the
# following key/value substitutions: For each text field, you can either enter the text directly into
# the text box, or you can specify a file on your local system to upload
# as the text.
# Should Mailman send an auto-response to mailing list posters?
#
# legal values are:
# 0 = "No"
# 1 = "Yes"
autorespond_postings = 0
# Auto-response text to send to mailing list posters.
autoresponse_postings_text = ''
# Should Mailman send an auto-response to emails sent to the -owner
# address?
#
# legal values are:
# 0 = "No"
# 1 = "Yes"
autorespond_admin = 0
# Auto-response text to send to -owner emails.
autoresponse_admin_text = ''
# Should Mailman send an auto-response to emails sent to the -request
# address? If you choose yes, decide whether you want Mailman to
# discard the original email, or forward it on to the system as a normal
# mail command.
#
# legal values are:
# 0 = "No"
# 1 = "Yes, w/discard"
# 2 = "Yes, w/forward"
autorespond_requests = 0
# Auto-response text to send to -request emails.
autoresponse_request_text = ''
# Number of days between auto-responses to either the mailing list or
# -request/-owner address from the same poster. Set to zero (or
# negative) for no grace period (i.e. auto-respond to every message).
autoresponse_graceperiod = 90
## Contentfilter options
#
# Policies concerning the content of list traffic.
#
# Content filtering works like this: when a message is received by
# the list and you have enabled content filtering, the individual
# attachments are first compared to the filter types. If
# the attachment type matches an entry in the filter types, it is
# discarded.
#
# Then, if there are pass types defined,
# any attachment type that does not match a pass type is also
# discarded. If there are no pass types defined, this check is skipped.
#
# After this initial filtering, any multipart attachments
# that are empty are removed. If the outer message is left empty after
# this filtering, then the whole message is discarded.
#
# Then, each multipart/alternative section will be replaced
# by just the first alternative that is non-empty after filtering if collapse_alternatives is enabled.
#
# Finally, any text/html parts that are left in the message
# may be converted to text/plain if convert_html_to_plaintext is enabled and the site is configured
# to allow these conversions.
# Should Mailman filter the content of list traffic according to the
# settings below?
#
# legal values are:
# 0 = "No"
# 1 = "Yes"
filter_content = False
# Use this option to remove each message attachment that matches one of
# these content types. Each line should contain a string naming a MIME
# type/subtype, e.g. image/gif. Leave off the subtype to remove all
# parts with a matching major content type, e.g. image.
#
# Blank lines are ignored.
#
# See also pass_mime_types for a content type whitelist.
filter_mime_types = ''
# Use this option to remove each message attachment that does not have a
# matching content type. Requirements and formats are exactly like filter_mime_types.
#
# Note: if you add entries to this list but don't add multipart to this
# list, any messages with attachments will be rejected by the pass
# filter.
pass_mime_types = """multipart/signed
multipart/mixed
multipart/alternative
application/pgp-signature
application/pkcs7-signature
text/plain"""
# Remove message attachments that have a matching filename extension.
filter_filename_extensions = """exe
bat
cmd
com
pif
scr
vbs
cpl"""
# Remove message attachments that don't have a matching filename
# extension. Leave this field blank to skip this filter test.
pass_filename_extensions = ''
# Should Mailman collapse multipart/alternative to its first part
# content?
#
# legal values are:
# 0 = "No"
# 1 = "Yes"
collapse_alternatives = True
# Should Mailman convert text/html parts to plain text? This conversion
# happens after MIME attachments have been stripped.
#
# legal values are:
# 0 = "No"
# 1 = "Yes"
convert_html_to_plaintext = True
# One of these actions is taken when the message matches one of the
# content filtering rules, meaning, the top-level content type matches
# one of the filter_mime_types, or the top-level content type does not match one
# of the pass_mime_types, or if after filtering the subparts of the message,
# the message ends up empty.
#
# Note this action is not taken if after filtering the message still
# contains content. In that case the message is always forwarded on to
# the list membership.
#
# When messages are discarded, a log entry is written containing the
# Message-ID of the discarded message. When messages are rejected or
# forwarded to the list owner, a reason for the rejection is included in
# the bounce message to the original author. When messages are
# preserved, they are saved in a special queue directory on disk for the
# site administrator to view (and possibly rescue) but otherwise
# discarded. This last option is only available if enabled by the site
# administrator.
#
# legal values are:
# 0 = "Discard"
# 1 = "Reject"
# 2 = "Forward to List Owner"
# 3 = "Preserve"
filter_action = 1
## Topics options
#
# List topic keywords
# The topic filter categorizes each incoming email message according to
# regular expression
# filters you specify below. If the message's Subject: or Keywords:
# header contains a match against a topic filter, the message is
# logically placed into a topic bucket. Each user can then choose to
# only receive messages from the mailing list for a particular topic
# bucket (or buckets). Any message not categorized in a topic bucket
# registered with the user is not delivered to the list.
#
# Note that this feature only works with regular delivery, not digest
# delivery.
#
# The body of the message can also be optionally scanned for Subject:
# and Keywords: headers, as specified by the topics_bodylines_limit
# configuration variable.
#
# legal values are:
# 0 = "Disabled"
# 1 = "Enabled"
topics_enabled = 0
# The topic matcher will scan this many lines of the message body
# looking for topic keyword matches. Body scanning stops when either
# this many lines have been looked at, or a non-header-like body line is
# encountered. By setting this value to zero, no body lines will be
# scanned (i.e. only the Keywords: and Subject: headers will be
# scanned). By setting this value to a negative number, then all body
# lines will be scanned until a non-header-like line is encountered.
#
topics_bodylines_limit = 5
# Each topic keyword is actually a regular expression, which is matched
# against certain parts of a mail message, specifically the Keywords:
# and Subject: message headers. Note that the first few lines of the
# body of the message can also contain a Keywords: and Subject: "header"
# on which matching is also performed.
topics = []
#
#