1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
|
# -*- python -*-
# Copyright (C) 1998 by the Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
"""Distributed default settings for significant mailman config variables.
You should NOT edit the values here unless you're changing settings for
distribution. For site-specific settings, put your definitions in
mm_cfg.py after the point at which it includes (via 'from ... import *')
this file, to override the distributed defaults with site-specific ones.
"""
import os
# The URL for Mailman sources, etc. - you probably don't want to change this.
MAILMAN_URL = 'http://www.list.org/'
# Many site-specific settings #
DEFAULT_HOST_NAME = 'OVERRIDE.WITH.YOUR.MX.OR.HOST.NAME'
SMTPHOST = 'localhost'
DEFAULT_URL = 'http://www.OVERRIDE.WITH.YOUR.HOST/mailman/'
PUBLIC_ARCHIVE_URL = 'http://www.OVERRIDE.WITH.YOUR.PUBLIC.ARCHIVE.URL/'
PRIVATE_ARCHIVE_URL = 'http://www.OVERRIDE.WITH.YOUR.PRIVATE.ARCHIVE.URL/'
DEFAULT_ARCHIVE_PRIVATE = 0 # 0=public, 1=private
HOME_PAGE = 'index.html'
MAILMAN_OWNER = 'mailman-owner@%s' % DEFAULT_HOST_NAME
# System ceiling on number of batches into which deliveries are divided:
MAX_SPAWNS = 40
# 1 to use crypt for passwords instead of md5.
# Crypt may not work on all python installs.
# Don't change this value once you have lists running...
# In fact, you should just let configure set this one and leave it alone.
USE_CRYPT = 1
# General Defaults #
DEFAULT_FILTER_PROG = ''
# Default number of batches in which to divide large deliveries:
DEFAULT_NUM_SPAWNS = 5
DEFAULT_LIST_ADVERTISED = 1
DEFAULT_MAX_NUM_RECIPIENTS = 10
DEFAULT_MAX_MESSAGE_SIZE = 40 # KB
# These format strings will be expanded w.r.t. the dictionary for the
# maillist instance.
DEFAULT_SUBJECT_PREFIX = "[%(real_name)s] "
DEFAULT_MSG_HEADER = ""
DEFAULT_MSG_FOOTER = """_______________________________________________
%(real_name)s maillist - %(real_name)s@%(host_name)s
%(web_page_url)slistinfo/%(_internal_name)s
"""
# List Accessibility Defaults #
# Is admin notified of admin requests immediately by mail, as well as by
# daily pending-request reminder?
DEFAULT_ADMIN_IMMED_NOTIFY = 1
DEFAULT_MODERATED = 0
# Bounce if 'to' or 'cc' fields don't explicitly name list (anti-spam)?
DEFAULT_REQUIRE_EXPLICIT_DESTINATION = 1
# Alternate names acceptable as explicit destinations for this list.
DEFAULT_ACCEPTABLE_ALIASES ="""
"""
# This provisional measure is for maillists that have only other maillists
# for members. Ultimately we will probably use surrogate administrative
# message delivery addresses, instead.
DEFAULT_REMINDERS_TO_ADMINS = 0
# This variable controlls whether monthly password reminders are sent.
DEFAULT_SEND_REMINDERS = 1
# Send welcome messages to new users? Probably should keep this set to 1.
DEFAULT_SEND_WELCOME_MSG = 1
# Wipe sender information, and make it look like the list-admin
# address sends all messages
DEFAULT_ANONYMOUS_LIST = 0
# {header-name: regexp} spam filtering - we include some for example sake.
DEFAULT_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
"""
# Replies to posts inherently directed to list or original sender?
DEFAULT_REPLY_GOES_TO_LIST = 0
# Admin approval unnecessary for subscribes?
DEFAULT_OPEN_SUBSCRIBE = 1
# Private_roster == 0: anyone can see, 1: members only, 2: admin only.
DEFAULT_PRIVATE_ROSTER = 0
# When exposing members, make them unrecognizable as email addrs. To
# web-spiders from picking up addrs for spamming.
DEFAULT_OBSCURE_ADDRESSES = 1
# Make it 1 when it works.
DEFAULT_MEMBER_POSTING_ONLY = 0
# 1 for email subscription verification, 2 for admin confirmation:
DEFAULT_WEB_SUBSCRIBE_REQUIRES_CONFIRMATION = 1
# Digestification Defaults #
# Will list be available in non-digested form?
DEFAULT_NONDIGESTABLE = 1
# Will list be available in digested form?
DEFAULT_DIGESTABLE = 1
DEFAULT_DIGEST_HEADER = ""
DEFAULT_DIGEST_FOOTER = DEFAULT_MSG_FOOTER
DEFAULT_DIGEST_IS_DEFAULT = 0
DEFAULT_MIME_IS_DEFAULT_DIGEST = 0
DEFAULT_DIGEST_SIZE_THRESHHOLD = 30 # KB
DEFAULT_DIGEST_SEND_PERIODIC = 1
# We're only retaining the text file, an external pipermail (andrew's
# newest version) is pointed at the retained text copies.
## # 0 = never, 1 = daily, 2 = hourly:
## DEFAULT_ARCHIVE_UPDATE_FREQUENCY = 2
## # 0 = yearly, 1 = monthly
## DEFAULT_ARCHIVE_VOLUME_FREQUENCY = 0
## # Retain a flat text mailbox of postings as well as the fancy archives?
## DEFAULT_ARCHIVE_RETAIN_TEXT_COPY = 1
# Bounce Processing Defaults #
# Should we do any bounced mail checking at all?
DEFAULT_BOUNCE_PROCESSING = 1
# Minimum number of days that address has been undeliverable before
# we consider nuking it..
DEFAULT_MINIMUM_REMOVAL_DATE = 5
# Minimum number of bounced posts to the list before we consider nuking it.
DEFAULT_MINIMUM_POST_COUNT_BEFORE_BOUNCE_ACTION = 3
# 0 means do nothing
# 1 means disable and send admin a report,
# 2 means nuke'em (remove) and send admin a report,
# 3 means nuke 'em and don't report (whee:)
DEFAULT_AUTOMATIC_BOUNCE_ACTION = 1
# Maximum number of posts that can go by w/o a bounce before we figure your
# problem must have gotten resolved... usually this could be 1, but we
# need to account for lag time in getting the error messages. I'd set this
# to the maximum number of messages you'd expect your list to reasonably
# get in 1 hour.
DEFAULT_MAX_POSTS_BETWEEN_BOUNCES = 5
#
# how long the cookie authorizing administrative
# changes via the admin cgi lasts
#
ADMIN_COOKIE_LIFE = 60 * 20 # 20 minutes
# how many members to display at a time
# on the admin cgi to unsubscribe them or change their options
#
ADMIN_MEMBER_CHUNKSIZE = 10
# These directories are used to find various important files in the Mailman
# installation. PREFIX and EXEC_PREFIX are set by configure and should point
# to the installation directory of the Mailman package.
#
# Do not override these in mm_cfg.py!
PYTHON = '@PYTHON@'
PREFIX = '@prefix@'
EXEC_PREFIX = '@exec_prefix@'
# Work around a bogus autoconf 2.12 bug
if EXEC_PREFIX == '${prefix}':
EXEC_PREFIX = PREFIX
# Don't change anything from here down unless you know what you're doing...
# Enumeration for types of configurable variables in Mailman.
Toggle = 1
Radio = 2
String = 3
Text = 4
Email = 5
EmailList = 6
Host = 7
Number = 8
# could add Directory and URL
# Bitfield for user options
Digests = 0 # handled by other mechanism, doesn't need a flag.
DisableDelivery = 1
DontReceiveOwnPosts = 2 # Non-digesters only
AcknowlegePosts = 4
DisableMime = 8 # Digesters only
ConcealSubscription = 16
LIST_DATA_DIR = os.path.join(PREFIX, 'lists')
HTML_DIR = os.path.join(PREFIX, 'public_html')
CGI_DIR = os.path.join(EXEC_PREFIX, 'cgi-bin')
LOG_DIR = os.path.join(PREFIX, 'logs')
LOCK_DIR = os.path.join(PREFIX, 'locks')
DATA_DIR = os.path.join(PREFIX, 'data')
WRAPPER_DIR = os.path.join(EXEC_PREFIX, 'mail')
SCRIPTS_DIR = os.path.join(PREFIX, 'scripts')
TEMPLATE_DIR = os.path.join(PREFIX, 'templates')
PUBLIC_ARCHIVE_FILE_DIR = os.path.join(PREFIX, 'archives/public')
PRIVATE_ARCHIVE_FILE_DIR = os.path.join(PREFIX, 'archives/private')
# The Mailman version, also set by configure
VERSION = '@VERSION@'
# Data file version number
DATA_FILE_VERSION = 3
|