-
Notifications
You must be signed in to change notification settings - Fork 15
/
ezmlmrc.template
401 lines (401 loc) · 11.4 KB
/
ezmlmrc.template
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
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
@VERSION@ - This version identifier must be on line 1 and start in pos 1.
#
# ezmlmrc
# #######
# Controls the actions of ezmlm-make as patched with ezmlm-idx-0.31 or later.
#
# The base directory 'DIR' is always created by ezmlm-make, as is DIR/key.
# Everything else is done from here.
#
# ezmlm-make looks for this file, first as .ezmlmrc in the directory that the
# lists .qmail files will be placed in (if you've used the -c command line
# switch), then /etc/ezmlm/default/ezmlmrc. Thus, you can customize
# ezmlm-make on a global level by placing a customized copy of ezmlmrc in
# /etc/ezmlm and on a user level by copying it to .ezmlmrc in the user's
# home directory AND use the ezmlm-make -c switch.
#
# Tags are:
# </filename/> : put succeeding text lines in DIR/filename
# </-filename/> : erase DIR/filename.
# </+dirname/> : create directory DIR/dirname
# </:lname/dirname> : symlink DIR/.qmail-list-lname -> DIR/dirname
#
# The name in the tag can be suffixed with '#' and any number of flags,
# corresponding to command line switches. The item will be created/extended
# only if all the flags listed are set. Files can be extended as long as they
# were the last one created, but not if another file has been started since
# then. Flags that are not recognized are silently ignored.
#
# Thus, </filename#aP/> creates the file if and only if the list is archived
# (-a) and not public (-P). If the next tag is </filename#m/>, the file is
# extended with the lines up to the next tag if the list is message moderated
# (-m). If the next tag is </another/>, 'filename' is closed. Any further
# tags leading to the reopenining of 'filename' will overwrite the file, not
# extend it.
#
# A set of user-defined command line switches (xX, zZ) are available for
# customization.
#
# Substitutions made by ezmlm-make (at list creation or edit time) are:
# <#B#> ezmlm binaries path
# <#C#> digest code
# <#D#> dir
# <#F#> flags
# <#H#> host
# <#L#> local
# <#T#> dot
# <#0#> arg for -0.
# <#1#> ext1 [if dot is /path/.qmail-ext1-ext2-name]
# <#2#> ext2 [if dot is /path/.qmail-ext1-ext2-name]
# <#3#>...<#9#> arg for -3..9
# ext1 and ext2 are useful when a single user is controlling several
# virtual domains.
#
# -0 is used for the main list address when setting up sublists
# -3 is for the new from header if we want that header replaced
# -5 for list-owner address. Mail to list-owner will be forwarded to this addr.
# -6 for sql connection info
# -7 for contents of DIR/modpost
# -8 for contents of DIR/modsub
# -9 for contents of DIR/remote
#
# For demonstration purposes, the '-x' switch results in the following
# non-standard actions:
# - Removal of many non-text MIME parts from messages.
# - Limit posts to 2 bytes <= msg body size <= 40000
#
# Attempts to create links or directories that already exist, will result
# in a FATAL error. Attempts to open files that have already been closed
# or already exits, will cause the old file to be overwritten.
#
# Remove the old config files, as its presence causes complications.
</-config/>
</-flags/>
</outhost/>
<#H#>
</outlocal/>
<#L#>
</ezmlmrc/>
<#X#>
</dot/>
<#T#>
</digestcode/>
<#C#>
</-sublist#e^0/>
</sublist#0/>
<#0#>
</-fromheader#e^3/>
</fromheader#3/>
<#3#>
</+archive/>
</+bounce/>
# dir for editing text files
</+text/>
# dirs for digests
</+digest/>
</+digest/bounce/>
# for extra address db
</+allow/>
# for blacklist
</+deny/>
# moderator db & mod queue dirs. Needed for -m, -r -s, so we just
# make them by default.
</+mod/>
</+mod/pending/>
</+mod/accepted/>
</+mod/rejected/>
</+mod/unconfirmed/>
# links: dot -> dir/editor
</:/editor/>
</:-owner/owner/>
</:-digest-owner/owner/>
</:-return-default/bouncer/>
</:-digest-return-default/digest/bouncer/>
</:-default/manager/>
# for message moderation only
</:-accept-default/moderator/>
</:-reject-default/moderator/>
# for message confirmation only
</:-confirm-default/confirmer/>
</:-discard-default/confirmer/>
# Get rid of text/trailer when turning off the -t flag
</-text/trailer#eT/>
# We don't clean out text files to make it easier for users
# doing manual config by e.g. touching dir/remote.
#
# -6 Subscriber database plugin specification
</-subdb#^6e/>
</subdb#6/>
<#6#>
# -a Archived and indexed
</-archived#eA/>
</archived#a/>
</-indexed#eA/>
</indexed#a/>
# -b Archive requests only available to moderators
</-modgetonly#eB/>
</modgetonly#b/>
# -c N/A
# -d Message digests
</-digested#eD/>
</digested#d/>
# -e N/A
# -f subject line prefix
</-prefix#eF/>
</prefix#Ef/>
[<#L#>]
# -g Archive requests only available to subscribers
</-subgetonly#eG/>
</subgetonly#g/>
# -h No subscribe confirmation
</-nosubconfirm#eH/>
</nosubconfirm#h/>
# -i Enhanced indices created by ezmlm-archive
</-threaded#eI/>
</threaded#i/>
# -j No unsubscribe confirmation
</-nounsubconfirm#eJ/>
</nounsubconfirm#j/>
# -k is always on
# -l Moderator can list subscribers
</-modcanlist#eL/>
</modcanlist#l/>
# -m message moderation
</-modpost#eM/>
</modpost#m/>
<#7#>
# -mu Do not return timed-out posts
</-noreturnposts#eM/>
</-noreturnposts#eU/>
</noreturnposts#mu/>
# -n Moderator can edit text files
</-modcanedit#eN/>
</modcanedit#n/>
# -o Non-public: only moderators can post
</-modpostonly#eO/>
</modpostonly#o/>
# -p Allow subscriptions and access to the archive
</-public#eP/>
</public#p/>
# -q is always on
# -r remote admin
</-remote#eR/>
</remote#r/>
<#9#>
# -s subscription moderation
</-modsub#eS/>
</modsub#s/>
<#8#>
# -t Add the trailer to posts
</-addtrailer#eT/>
</addtrailer#t/>
# -u Only subscribers may post
</-subpostonly#eU/>
</subpostonly#u/>
# -v N/A
# -w No ezmlm-warn
</-nowarn#eW/>
</nowarn#w/>
# -x See below
# -y Sender confirmation
</-confirmpost#eY/>
</confirmpost#y/>
# List owner mail
</owner#5/>
<#5#>
</owner#^5/>
<#D#>/Mailbox
# The "manager" handles subscription and other requests.
</manager/>
|<#B#>/ezmlm-weed
|<#B#>/ezmlm-get '<#D#>'
|<#B#>/ezmlm-split '<#D#>'
|<#B#>/ezmlm-request '<#D#>'
|<#B#>/ezmlm-manage '<#D#>'
|<#B#>/ezmlm-clean '<#D#>' || exit 0
|<#B#>/ezmlm-warn '<#D#>' || exit 0
# manage message confirmations
</confirmer/>
|<#B#>/ezmlm-weed
|if test -f '<#D#>/subpostonly' -a -f '<#D#>/modpost'; then <#B#>/ezmlm-confirm '<#D#>' <#B#>/ezmlm-gate -Y '<#D#>' . digest allow mod; else <#B#>/ezmlm-confirm '<#D#>' <#B#>/ezmlm-store -Y '<#D#>'; fi
|if test -f '<#D#>/threaded'; then <#B#>/ezmlm-archive '<#D#>' || exit 0; fi
|<#B#>/ezmlm-clean '<#D#>' || exit 0
|<#B#>/ezmlm-warn '<#D#>' || exit 0
</editor/>
# reject shouldn't be configured for sublist.
# full reject is now default, to get To/Cc: listaddress requirement
|if test ! -f '<#D#>/sublist'; then <#B#>/ezmlm-reject '<#D#>'; fi
# reject posts from blacklisted addresses. Done for moderated
# lists as well - allows removal of unwanted noise.
|if test ! -f '<#D#>/sublist'; then <#B#>/ezmlm-checksub -n '<#D#>' deny; fi
# 8 different combinations of the -m/u/y options:
# -MUY -- no restrictions => store (does send)
# -mUY -- simple moderated => store
# -MUy -- sub confirmation => store
# -mUy -- sub confirmation + moderation => store
|if test ! -f '<#D#>/subpostonly'; then <#B#>/ezmlm-store '<#D#>'; fi
# -MuY -- user post only => checksub store (does send)
# -Muy -- sub post only + confirmation => checksub store
|if test -f '<#D#>/subpostonly' -a ! -f '<#D#>/modpost'; then <#B#>/ezmlm-checksub '<#D#>' . digest allow mod && <#B#>/ezmlm-store '<#D#>'; fi
# -muY -- sub post ok, non-sub moderated => gate
|if test -f '<#D#>/subpostonly' -a -f '<#D#>/modpost' -a ! -f '<#D#>/confirmpost'; then <#B#>/ezmlm-gate '<#D#>' . digest allow mod; fi
# -muy -- confirmed sender; then sub post, non-sub moderated => store
|if test -f '<#D#>/subpostonly' -a -f '<#D#>/modpost' -a -f '<#D#>/confirmpost'; then <#B#>/ezmlm-store '<#D#>'; fi
# Always run ezmlm-clean to check for old messages
|<#B#>/ezmlm-clean '<#D#>' || exit 0
# ezmlm-archive here for normal lists. Put into moderator
# for mess-mod lists / into confirmer for mess-confirm lists.
|if test -f '<#D#>/threaded'; then <#B#>/ezmlm-archive '<#D#>' || exit 0; fi
|<#B#>/ezmlm-warn '<#D#>' || exit 0
|if test -e '<#D#>/digested' && <#B#>/ezmlm-tstdig '<#D#>'; then <#B#>/ezmlm-get '<#D#>' || exit 0; fi
# bouncer for list and digest
</bouncer/>
|<#B#>/ezmlm-weed
|<#B#>/ezmlm-return -D '<#D#>'
</digest/bouncer/>
|<#B#>/ezmlm-weed
|<#B#>/ezmlm-return -d '<#D#>'
# moderator is set up only for message moderated lists. However, '-e' does
# not remove it since we can't remove the symlinks to it (they're outside
# of the list dir.
</moderator/>
|<#B#>/ezmlm-weed
|<#B#>/ezmlm-moderate '<#D#>'
|if test -f '<#D#>/threaded'; then <#B#>/ezmlm-archive '<#D#>' || exit 0; fi
|<#B#>/ezmlm-clean '<#D#>' || exit 0
|<#B#>/ezmlm-warn '<#D#>' || exit 0
</headerremove#E/>
return-path
return-receipt-to
content-length
precedence
x-confirm-reading-to
x-pmrqc
list-subscribe
list-unsubscribe
list-help
</headerremove#E^0/>
# For sublists, these should be left in
list-post
sender
# remove from header if -3 'new_from_line'
</#3E/>
from
</lock/>
</lockbounce/>
</digest/lockbounce/>
</digest/lock/>
# Headeradd needs to always exist but leave out stuff for sublists
</headeradd#E^0/>
# This is necessary for DomainKeys signing to work properly
Sender: <<#l#>@<#h#>>
# Good for mailing list stuff (and vacation program)
Precedence: bulk
# To prevent indexing by findmail.com
X-No-Archive: yes
# rfc2369, first from main list only, others from sublist only
List-Post: <mailto:<#L#>@<#H#>>
</headeradd#E/>
List-Help: <mailto:<#l#>-help@<#h#>>
List-Unsubscribe: <mailto:<#l#>-unsubscribe@<#h#>>
List-Subscribe: <mailto:<#l#>-subscribe@<#h#>>
# add new from line "From: arg" if -3 'arg'
</#3E/>
From: <#3#>
# max & min message size
</msgsize#xE/>
30000:2
# remove mime parts if -x
</-mimeremove#eX/>
</mimeremove#Ex/>
application/excel
application/rtf
application/msword
application/ms-tnef
text/html
text/rtf
text/enriched
text/x-vcard
application/activemessage
application/andrew-inset
application/applefile
application/atomicmail
application/dca-rft
application/dec-dx
application/mac-binhex40
application/mac-compactpro
application/macwriteii
application/news-message-id
application/news-transmission
application/octet-stream
application/oda
application/pdf
application/postscript
application/powerpoint
application/remote-printing
application/slate
application/wita
application/wordperfect5.1
application/x-bcpio
application/x-cdlink
application/x-compress
application/x-cpio
application/x-csh
application/x-director
application/x-dvi
application/x-hdf
application/x-httpd-cgi
application/x-koan
application/x-latex
application/x-mif
application/x-netcdf
application/x-stuffit
application/x-sv4cpio
application/x-sv4crc
application/x-tar
application/x-tcl
application/x-tex
application/x-texinfo
application/x-troff
application/x-troff-man
application/x-troff-me
application/x-troff-ms
application/x-ustar
application/x-wais-source
audio/basic
audio/mpeg
audio/x-aiff
audio/x-pn-realaudio
audio/x-pn-realaudio
audio/x-pn-realaudio-plugin
audio/x-realaudio
audio/x-wav
image/gif
image/ief
image/jpeg
image/png
image/tiff
image/x-cmu-raster
image/x-portable-anymap
image/x-portable-bitmap
image/x-portable-graymap
image/x-portable-pixmap
image/x-rgb
image/x-xbitmap
image/x-xpixmap
image/x-xwindowdump
text/x-sgml
video/mpeg
video/quicktime
video/x-msvideo
video/x-sgi-movie
x-conference/x-cooltalk
x-world/x-vrml
# These can also be excluded, but for many lists it is desirable
# to allow them. Uncomment to add to mimeremove.
# application/zip
# application/x-gtar
# application/x-gzip
# application/x-sh
# application/x-shar
# chemical/x-pdb