| 1 | # = Project Lancelot List Configuration Parameters = |
|---|
| 2 | # |
|---|
| 3 | # This file documents all Project Lancelot list configuration |
|---|
| 4 | # parameters. It can serve as the basis for a Project Lancelot list |
|---|
| 5 | # configuration; just change it and read it using |
|---|
| 6 | # "pl-conf --import <config.txt". |
|---|
| 7 | # |
|---|
| 8 | # == Ground Rules == |
|---|
| 9 | # |
|---|
| 10 | # Parameter values consist of everything after the equals sign, with |
|---|
| 11 | # leading and trailing spaces removed. |
|---|
| 12 | # |
|---|
| 13 | # There is no notion of "valid" parameter names; you may put anything |
|---|
| 14 | # you like in the database (and write a program to use it). |
|---|
| 15 | # |
|---|
| 16 | # == Global Parameters == |
|---|
| 17 | # |
|---|
| 18 | # === lancelot.templatedirs === |
|---|
| 19 | # |
|---|
| 20 | # This parameter gives a global (space-separated) list of directories |
|---|
| 21 | # that will be searched for Project Lancelot templates. The language |
|---|
| 22 | # code (as per '''list.language''', or '''en''' if '''list.language''' |
|---|
| 23 | # is unset) will be appended to each of the directories in the list, |
|---|
| 24 | # and the template will be looked for in the resulting directory. |
|---|
| 25 | # |
|---|
| 26 | # In addition to these directories, Project Lancelot always searches the |
|---|
| 27 | # ''.pl/list@domain/templates'' and ''.pl/templates'' directories within |
|---|
| 28 | # the list owner's home directory. |
|---|
| 29 | |
|---|
| 30 | lancelot.templatedirs = /etc/lancelot/templates |
|---|
| 31 | |
|---|
| 32 | # === lancelot.mailer === |
|---|
| 33 | |
|---|
| 34 | # == List Parameters == |
|---|
| 35 | # |
|---|
| 36 | # These parameters give information about a list as a whole. |
|---|
| 37 | # |
|---|
| 38 | # === list.address === |
|---|
| 39 | # |
|---|
| 40 | # This parameter gives the list address, as ''list@domain''. This is the |
|---|
| 41 | # address that is used to submit messages to the list. The local MTA must |
|---|
| 42 | # be suitably configured so the ''list@domain'' and ''list-SOMETHING@domain'' |
|---|
| 43 | # addresses are forwarded to the pl-incoming(1) command. |
|---|
| 44 | |
|---|
| 45 | list.address = test@example.com |
|---|
| 46 | |
|---|
| 47 | # === list.name === |
|---|
| 48 | # |
|---|
| 49 | # This is the list's name, such as "Test". This will be used in messages |
|---|
| 50 | # from the list software to subscribers. Do not call a list "Foo List", |
|---|
| 51 | # use just "Foo". |
|---|
| 52 | |
|---|
| 53 | list.name = Test |
|---|
| 54 | |
|---|
| 55 | # === list.language === |
|---|
| 56 | # |
|---|
| 57 | # The language used for communication between Project Lancelot and the |
|---|
| 58 | # list users. This determines the templates to be used. |
|---|
| 59 | # |
|---|
| 60 | # Project Lancelot comes with templates for English and German. Feel |
|---|
| 61 | # free to contribute additional templates, which should go in a |
|---|
| 62 | # directory that is named after the '''list.language''' value to be |
|---|
| 63 | # used for them. |
|---|
| 64 | # |
|---|
| 65 | # Note that this has nothing to do with the language(s) that the |
|---|
| 66 | # list users use to converse among one another. |
|---|
| 67 | |
|---|
| 68 | list.language = en |
|---|
| 69 | |
|---|
| 70 | # === list.ownername === |
|---|
| 71 | # |
|---|
| 72 | # The list administrator's name. This can be left unset, in which |
|---|
| 73 | # case Project Lancelot will insert "the list owner" (in the |
|---|
| 74 | # appropriate language) in its place. |
|---|
| 75 | |
|---|
| 76 | list.ownername = John Doe |
|---|
| 77 | |
|---|
| 78 | # === list.owneraddress === |
|---|
| 79 | # |
|---|
| 80 | # The list administrator's mail address. Project Lancelot forwards mail to |
|---|
| 81 | # the ''list''-owner''@domain'' address to this address. |
|---|
| 82 | |
|---|
| 83 | list.owneraddress = jdoe@example.com |
|---|
| 84 | |
|---|
| 85 | # === list.addressdb === |
|---|
| 86 | # |
|---|
| 87 | # This parameter determines where Project Lancelot stores and |
|---|
| 88 | # retrieves subscriber information. Right now the only admissible |
|---|
| 89 | # value is '''sqlite:''', which means "in the list's configuration |
|---|
| 90 | # database". Feel free to implement other approaches, such as |
|---|
| 91 | # '''ldap:/path/to/config/file'''; you will need to refer to the |
|---|
| 92 | # source:trunk/lib/Lancelot/DB.pm file to find out details. |
|---|
| 93 | |
|---|
| 94 | list.addressdb = sqlite: |
|---|
| 95 | |
|---|
| 96 | # === list.confirmdelay === |
|---|
| 97 | # === list.timeformat === |
|---|
| 98 | |
|---|
| 99 | # == Incoming Mail == |
|---|
| 100 | # |
|---|
| 101 | # The following parameters deal with the processing of incoming mail, |
|---|
| 102 | # by pl-incoming(1) and various processing modules. |
|---|
| 103 | # |
|---|
| 104 | # === mail.delimiter === |
|---|
| 105 | # === mail.trace === |
|---|
| 106 | # |
|---|
| 107 | # === mail.workflow.submit === |
|---|
| 108 | # |
|---|
| 109 | # Gives a workflow for handling messages to the ''list@domain'' address. |
|---|
| 110 | |
|---|
| 111 | mail.workflow.submit = policy_addresses policy_mime list_headers post_message |
|---|
| 112 | |
|---|
| 113 | # === mail.workflow.subscribe === |
|---|
| 114 | # |
|---|
| 115 | # Gives a workflow for handling messages to the ''list-subscribe@domain'' |
|---|
| 116 | # address. |
|---|
| 117 | |
|---|
| 118 | mail.workflow.subscribe = forward |
|---|
| 119 | |
|---|
| 120 | # === mail.workflow.unsubscribe === |
|---|
| 121 | # |
|---|
| 122 | # Gives a workflow for handling messages to the ''list-unsubscribe@domain'' |
|---|
| 123 | # address. |
|---|
| 124 | |
|---|
| 125 | mail.workflow.unsubscribe = forward |
|---|
| 126 | |
|---|
| 127 | # === mail.workflow.help === |
|---|
| 128 | # |
|---|
| 129 | # Gives a workflow for handling messages to the ''list-help@domain'' address. |
|---|
| 130 | |
|---|
| 131 | mail.workflow.help = send_help |
|---|
| 132 | |
|---|
| 133 | # === mail.workflow.owner === |
|---|
| 134 | # |
|---|
| 135 | # Gives a workflow for handling messages to the ''list-owner@domain'' address. |
|---|
| 136 | |
|---|
| 137 | mail.workflow.owner = forward |
|---|
| 138 | |
|---|
| 139 | # === mail.policy.explicitaddress === |
|---|
| 140 | # |
|---|
| 141 | # If set to 1, requires the ''list@domain'' address to occur within the |
|---|
| 142 | # "To:" or "Cc:" headers of a message submitted for distribution. This is |
|---|
| 143 | # a spam prevention policy. |
|---|
| 144 | |
|---|
| 145 | mail.policy.explicitaddress = 1 |
|---|
| 146 | |
|---|
| 147 | # === mail.policy.subscribersonly === |
|---|
| 148 | # |
|---|
| 149 | # If set to 1, only mail from subscribers is allowed for distribution. |
|---|
| 150 | # Other messages are silently discarded (this may change when message |
|---|
| 151 | # moderation is implemented). |
|---|
| 152 | |
|---|
| 153 | mail.policy.subscribersonly = 1 |
|---|
| 154 | |
|---|
| 155 | # === mail.listheaders === |
|---|
| 156 | # |
|---|
| 157 | # If set to 1, RFC-2369 headers are added to outgoing messages. |
|---|
| 158 | |
|---|
| 159 | mail.listheaders = 1 |
|---|
| 160 | |
|---|
| 161 | # === mail.listid === |
|---|
| 162 | |
|---|
| 163 | # === mail.removeheaders === |
|---|
| 164 | # === mail.addheaders === |
|---|
| 165 | # === mail.header.X === |
|---|
| 166 | |
|---|
| 167 | # === mail.subjecttag === |
|---|
| 168 | # |
|---|
| 169 | # If set, the value of this parameter is prepended to outgoing messages' |
|---|
| 170 | # "Subject:" headers. |
|---|
| 171 | |
|---|
| 172 | mail.subjecttag = |
|---|
| 173 | |
|---|
| 174 | # === mail.replyto === |
|---|
| 175 | # |
|---|
| 176 | # If set, the value of this parameter is used as the "Reply-To:" header |
|---|
| 177 | # on outgoing messages that do not already have one. |
|---|
| 178 | |
|---|
| 179 | mail.replyto = |
|---|
| 180 | |
|---|
| 181 | # === mail.forcereplyto === |
|---|
| 182 | # |
|---|
| 183 | # If set to 1, the value of the '''mail.replyto''' parameter is also used |
|---|
| 184 | # to replace the "Reply-To:" header on outgoing messages that do have |
|---|
| 185 | # one already. It is highly contentious whether this is a good idea. |
|---|
| 186 | |
|---|
| 187 | mail.forcereplyto = 0 |
|---|
| 188 | |
|---|
| 189 | # == SMTP Configuration == |
|---|
| 190 | # |
|---|
| 191 | # Project Lancelot uses an SMTP server to send mail, both for list |
|---|
| 192 | # distribution and for communicating with individual users. The |
|---|
| 193 | # following parameters determine how Project Lancelot converses with |
|---|
| 194 | # the SMTP server. |
|---|
| 195 | # |
|---|
| 196 | # === smtp.server === |
|---|
| 197 | # |
|---|
| 198 | # The SMTP server. |
|---|
| 199 | |
|---|
| 200 | # === smtp.port === |
|---|
| 201 | # === smtp.timeout === |
|---|
| 202 | # === smtp.maxrecipients === |
|---|
| 203 | # === smtp.verp === |
|---|
| 204 | # === smtp.debug === |
|---|
| 205 | |
|---|
| 206 | # == Forwarding Messages == |
|---|
| 207 | # |
|---|
| 208 | # The '''forward''' processing module is used to forward messages to other |
|---|
| 209 | # addresses (usually the list administrator's). |
|---|
| 210 | # |
|---|
| 211 | # === forward.notice === |
|---|
| 212 | # |
|---|
| 213 | # This parameter is used to internationalise the string added as the |
|---|
| 214 | # main explanatory MIME part when Project Lancelot forwards a message |
|---|
| 215 | # using the '''forward''' processing module. Its value should include |
|---|
| 216 | # a '''%s''' key, which will be replaced by the list name from |
|---|
| 217 | # '''list.name'''. |
|---|
| 218 | |
|---|
| 219 | forward.notice = This just came in on the %s list. |
|---|
| 220 | |
|---|
| 221 | # == Subscribing and Unsubscribing == |
|---|
| 222 | # |
|---|
| 223 | # === subscribe.type === |
|---|
| 224 | # === subscribe.confirm === |
|---|
| 225 | # === subscribe.confirmdefault === |
|---|
| 226 | # === subscribe.digestdefault === |
|---|
| 227 | # === subscribe.nomaildefault === |
|---|
| 228 | # === subscribe.moderateddefault === |
|---|
| 229 | # === subscribe.welcome === |
|---|
| 230 | # === subscribe.notices === |
|---|
| 231 | # |
|---|
| 232 | # === unsubscribe.confirm === |
|---|
| 233 | # === unsubscribe.goodbye === |
|---|
| 234 | # === unsubscribe.notices === |
|---|
| 235 | |
|---|
| 236 | # == Configuration == |
|---|
| 237 | # |
|---|
| 238 | # === config.digest === |
|---|
| 239 | # === config.nomail === |
|---|
| 240 | # === config.name === |
|---|
| 241 | |
|---|
| 242 | # == Archive == |
|---|
| 243 | # |
|---|
| 244 | # The '''archive_store''' processing module helps maintain an archive |
|---|
| 245 | # of past postings to the mailing list. |
|---|
| 246 | # |
|---|
| 247 | # === archive.directory === |
|---|
| 248 | # |
|---|
| 249 | # This parameter gives the directory in which the archive is |
|---|
| 250 | # kept. Inside this directory, there will be one subdirectory for |
|---|
| 251 | # every 100 postings to the mailing list, containing one file per |
|---|
| 252 | # archived message. The name of this subdirectory is the integer part |
|---|
| 253 | # of the message number divided by 100, while the name of the file |
|---|
| 254 | # itself is the remainder of the message number divided by 100. In |
|---|
| 255 | # other words, message 12345 would be stored in the file ''123/45'' |
|---|
| 256 | # inside the archive directory. |
|---|
| 257 | # |
|---|
| 258 | # The value of this parameter is taken relative to the list directory |
|---|
| 259 | # if it does not start with a slash ('''/'''). |
|---|
| 260 | |
|---|
| 261 | archive.directory = archive |
|---|
| 262 | |
|---|
| 263 | # === archive.dirmode === |
|---|
| 264 | # |
|---|
| 265 | # This parameter specifies the permissions for the |
|---|
| 266 | # '''archive.directory''' (and its subdirectories). This only applies |
|---|
| 267 | # when new directories are being created. The value is an octal number |
|---|
| 268 | # with the customary Unix meaning (refer to '''chmod(1)'''). |
|---|
| 269 | |
|---|
| 270 | archive.dirmode = 0755 |
|---|
| 271 | |
|---|
| 272 | # === archive.url === |
|---|
| 273 | # === archive.lurker.name === |
|---|
| 274 | # === archive.lurker.command === |
|---|
| 275 | |
|---|
| 276 | # == Digests == |
|---|
| 277 | # |
|---|
| 278 | # === digest.name === |
|---|
| 279 | # === digest.maxperiod === |
|---|
| 280 | # === digest.minsize === |
|---|
| 281 | # === digest.maxsize === |
|---|
| 282 | # === digest.type === |
|---|
| 283 | # === digest.volume === |
|---|
| 284 | # === digest.headers === |
|---|
| 285 | # === digest.type.plain.headers === |
|---|
| 286 | # === digest.type.mime.headers === |
|---|
| 287 | |
|---|
| 288 | # == Bounce Handling == |
|---|
| 289 | # |
|---|
| 290 | # === bounce.bucketcount === |
|---|
| 291 | # === bounce.bucketsize === |
|---|
| 292 | # === bounce.threshold === |
|---|
| 293 | # === bounce.warnings === |
|---|
| 294 | # === bounce.warnperiod === |
|---|
| 295 | # === bounce.score.hard === |
|---|
| 296 | # === bounce.score.soft === |
|---|
| 297 | # === bounce.unknownaction === |
|---|
| 298 | |
|---|
| 299 | # == Authentication == |
|---|
| 300 | # |
|---|
| 301 | # === auth.gpg.keyring === |
|---|
| 302 | |
|---|
| 303 | # == Moderation == |
|---|
| 304 | # |
|---|
| 305 | # === mod.enable === |
|---|
| 306 | # === mod.quorum.approve === |
|---|
| 307 | # === mod.quorum.reject === |
|---|
| 308 | # === mod.quorum.discard === |
|---|
| 309 | # === mod.timeout === |
|---|
| 310 | # === mod.disposal === |
|---|
| 311 | # === mod.notifylines === |
|---|
| 312 | |
|---|
| 313 | # == Remote Administration by mail == |
|---|
| 314 | # |
|---|
| 315 | # === admin.list.defaultorder === |
|---|
| 316 | # === admin.allowed === |
|---|
| 317 | # === admin.setconfig.allow === |
|---|
| 318 | # === admin.setconfig.refuse === |
|---|