masqmail-0.2

annotate docs/masqmail.conf.5 @ 5:3cafdebd1479

removed remaining reference to docs in Makefile
author meillo@marmaro.de
date Fri, 26 Sep 2008 22:15:26 +0200
parents 08114f7dcc23
children 163aa299bedb
rev   line source
meillo@0 1 .TH masqmail.conf 5 User Manuals
meillo@0 2 .SH NAME
meillo@0 3 masqmail.conf \- masqmail configuration file
meillo@0 4 .SH DESCRIPTION
meillo@0 5
meillo@0 6 This man page describes the syntax of the main configuration file of masqmail. Its usual location is \fI/etc/masqmail/masqmail.conf\f1
meillo@0 7
meillo@0 8 The configuration consists of lines of the form
meillo@0 9
meillo@0 10 \fBval\f1 = \fIexpression\f1
meillo@0 11
meillo@0 12 Where \fBval\f1 is a variable name and \fIexpression\f1 a string, which can be quoted with '"'. If the expression is on multiple lines or contains characters other than letters, digits or the characters '.', '-', '_', '/', it must be quoted. You can use quotes inside quotes by escaping them with a backslash.
meillo@0 13
meillo@0 14 Each val has a type, which can be boolean, numeric, string or list. A boolean variable can be set with one of the values 'on', 'yes', and 'true' or 'off', 'no' and 'false'. List items are separated with ';'. For some values patterns (like '*','?') can be used. The spaces before and after the '=' are optional.
meillo@0 15
meillo@0 16 Most lists (exceptions: \fBlocal_hosts\f1,\fBlocal_nets\f1, \fBlisten_addresses\f1, \fBonline_routes\f1 and \fBonline_gets\f1) accept files. These will be recognized by a leading slash '/'. The contents of these files will be included at the position of the file name, there can be items or other files before and after the file entry. The format of the files is different though, within these files each entry is on another line. (And not separated by semicolons). This makes it easy to include large lists which are common in different configuration files, so they do not have to appear in every configuration file.
meillo@0 17
meillo@0 18 Blank lines and lines starting with '#' are ignored.
meillo@0 19
meillo@0 20 .SH OPTIONS
meillo@0 21 .TP
meillo@0 22
meillo@0 23 \fBrun_as_user = \fIboolean\f1\fB\f1
meillo@0 24
meillo@0 25 If this is set, masqmail runs with the user id of the user who invoked it and never changes it. This is for debugging purposes only. If the user is not root, masqmail will not be able to listen on a port < 1024 and will not be able to deliver local mail to others than the user.
meillo@0 26 .TP
meillo@0 27
meillo@0 28 \fBuse_syslog = \fIboolean\f1\fB\f1
meillo@0 29
meillo@0 30 If this is set, masqmail uses syslogd for logging. It uses facility MAIL. You still have to set \fBlog_dir\f1 for debug files.
meillo@0 31 .TP
meillo@0 32
meillo@0 33 \fBdebug_level = \fIn\f1\fB\f1
meillo@0 34
meillo@0 35 Set the debug level. Valid values are 0 to 6, increasing it further makes no difference. Be careful if you set this as high as 5 or higher, the logs may very soon fill your hard drive.
meillo@0 36 .TP
meillo@0 37
meillo@0 38 \fBmail_dir = \fIfile\f1\fB\f1
meillo@0 39
meillo@0 40 The directory where local mail is stored, usually \fI/var/spool/mail\f1 or \fI/var/mail\f1.
meillo@0 41 .TP
meillo@0 42
meillo@0 43 \fBspool_dir = \fIfile\f1\fB\f1
meillo@0 44
meillo@0 45 The directory where masqmail stores its spool files (and later also other stuff). It must have a subdirectory \fIinput\f1. Masqmail needs read and write permissions for this directory. I suggest to use \fI/var/spool/masqmail\f1.
meillo@0 46 .TP
meillo@0 47
meillo@0 48 \fBhost_name = \fIstring\f1\fB\f1
meillo@0 49
meillo@0 50 This is used in different places: Masqmail identifies itself in the greeting banner on incoming connections and in the HELO/EHLO command for outgoing connections with this name, it is used in the Received: header and to qualify the sender of a locally originating message.
meillo@0 51
meillo@0 52 If the string begins with a slash '/', it it assumed that it is a filename, and the first line of this file will be used. Usually this will be '/etc/mailname' to make masqmail conform to Debian policies.
meillo@0 53
meillo@0 54 It is not used to find whether an address is local. Use \fBlocal_hosts\f1 for that.
meillo@0 55 .TP
meillo@0 56
meillo@0 57 \fBremote_port = \fIn\f1\fB\f1
meillo@0 58
meillo@0 59 The remote port number to be used. This defaults to port 25.
meillo@0 60
meillo@0 61 This option is deprecated. Use \fBhost_name\f1 in the route configuration instead. See \fBmasqmail.route (5)\f1.
meillo@0 62 .TP
meillo@0 63
meillo@0 64 \fBlocal_hosts = \fIlist\f1\fB\f1
meillo@0 65
meillo@0 66 A semicolon ';' separated list of hostnames which are considered local. Normally you set it to "localhost;foo;foo.bar.com" if your host has the fully qualified domain name 'foo.bar.com'.
meillo@0 67 .TP
meillo@0 68
meillo@0 69 \fBlocal_nets = \fIlist\f1\fB\f1
meillo@0 70
meillo@0 71 A semicolon ';' separated list of hostnames which are on the 'local' net. Delivery to these hosts is attempted immediately. You can use patterns with '*', eg. "*.bar.com".
meillo@0 72 .TP
meillo@0 73
meillo@0 74 \fBlocal_addresses = \fIlist\f1\fB\f1
meillo@0 75
meillo@0 76 A semicolon ';' separated list of fully qualified email-addresses which are considered local although their domain name part is not in the list of \fBlocal_hosts\f1.
meillo@0 77
meillo@0 78 For example: There are two people working at your LAN: person1@yourdomain and person2@yourdomain. But there are other persons @yourdomain which are NOT local. So you can not put yourdomain to the list of local_hosts. If person1 now wants to write to person2@yourdomain and this mail should not leave the LAN then you can put
meillo@0 79
meillo@0 80 local_addresses = "person1@yourdomain;person2@yourdomain"
meillo@0 81
meillo@0 82 to your masqmail.conf.
meillo@0 83 .TP
meillo@0 84
meillo@0 85 \fBnot_local_addresses = \fIlist\f1\fB\f1
meillo@0 86
meillo@0 87 A semicolon ';' separated list of fully qualified email-addresses which are considered not local although their domain name part is in the list of \fBlocal_hosts\f1.
meillo@0 88
meillo@0 89 This ist the opposite of the previous case. The majority of addresses of a specific domain are local. But some users are not. With this option you can easily exclude these users.
meillo@0 90
meillo@0 91 Example:
meillo@0 92
meillo@0 93 local_hosts = "localhost;myhost;mydomain.net"
meillo@0 94
meillo@0 95 not_local_addresses = "eric@mydomain.net"
meillo@0 96 .TP
meillo@0 97
meillo@0 98 \fBlisten_addresses = \fIlist\f1\fB\f1
meillo@0 99
meillo@0 100 A semicolon ';' separated list of interfaces on which connections will be accepted. An interface ist defined by a hostname, optionally followed by a colon ':' and a number for the port. If this is left out, port 25 will be used.
meillo@0 101
meillo@0 102 You can set this to "localhost:25;foo:25" if your hostname is 'foo'.
meillo@0 103
meillo@0 104 Note that the names are resolved to IP addreses. If your host has different names which resolve to the same IP, use only one of them, otherwise you will get an error message.
meillo@0 105 .TP
meillo@0 106
meillo@0 107 \fBdo_save_envelope_to = \fIboolean\f1\fB\f1
meillo@0 108
meillo@0 109 If this is set to true, a possibly existing Envelope-to: header in an incoming mail which is received via either pop3 or smtp will be saved as an X-Orig-Envelope-to: header.
meillo@0 110
meillo@0 111 This is useful if you retrieve mail from a pop3 server with either masqmail or fetchmail, and the server supports Envelope-to: headers, and you want to make use of those with a mail filtering tool, eg. procmail. It cannot be preserved because masqmail sets such a header by itself.
meillo@0 112
meillo@0 113 Default is false.
meillo@0 114 .TP
meillo@0 115
meillo@0 116 \fBdo_relay = \fIboolean\f1\fB\f1
meillo@0 117
meillo@0 118 If this is set to false, mail with a return path that is not local and a destination that is also not local will not be accepted via smtp and a 550 reply will be given. Default is true.
meillo@0 119
meillo@0 120 Note that this will not protect you from spammers using open relays, but from users unable to set their address in their mail clients.
meillo@0 121 .TP
meillo@0 122
meillo@0 123 \fBdo_queue = \fIboolean\f1\fB\f1
meillo@0 124
meillo@0 125 If this is set, mail will not be delivered immediately when accepted. Same as calling masqmail with the \fB-odq\f1 option.
meillo@0 126 .TP
meillo@0 127
meillo@0 128 \fBonline_routes.\fIname\f1\fB = \fIlist\f1\fB\f1
meillo@0 129
meillo@0 130 Replace \fIname\f1 with a name to identify a connection. Set this to a filename (or a list of filenames) for the special route configuration for that connection. You will use that name to call masqmail with the\fB-qo\f1 option every time a connection to your ISP is set up.
meillo@0 131
meillo@0 132 Example: Your ISP has the name FastNet. Then you write the following line in the main configuration:
meillo@0 133
meillo@0 134 \fBonline_routes.FastNet\f1 = \fI"/etc/masqmail/fastnet.route"\f1
meillo@0 135
meillo@0 136 \fI/etc/masqmail/fastnet.route\f1 is the route configuration file, see \fBmasqmail.route (5)\f1. As soon as a link to FastNet has been set up, you call masqmail \fB-qo\f1 \fIFastNet\f1. Masqmail will then read the specified file and send the mails.
meillo@0 137 .TP
meillo@0 138
meillo@0 139 \fBconnect_route.\fIname\f1\fB = \fIlist\f1\fB\f1
meillo@0 140
meillo@0 141 Old name for \fBonline_routes\f1.
meillo@0 142 .TP
meillo@0 143
meillo@0 144 \fBlocal_net_route = \fIfile\f1\fB\f1
meillo@0 145
meillo@0 146 This is similar to \fBonline_routes.\fIname\f1\fB\f1 but for the local net. Recipient addresses that are in local_nets will be routed using this route configuration. Main purpose is to define a mail server with mail_host in your local network. In simple environments this can be left unset. If unset, a default route configuration will be used.
meillo@0 147 .TP
meillo@0 148
meillo@0 149 \fBalias_file = \fIfile\f1\fB\f1
meillo@0 150
meillo@0 151 Set this to the location of your alias file. If unset, no aliasing will be done.
meillo@0 152 .TP
meillo@0 153
meillo@0 154 \fBalias_local_caseless = \fIboolean\f1\fB\f1
meillo@0 155
meillo@0 156 If this is set, local parts in the alias file will be matched disregarding upper/lower case.
meillo@0 157 .TP
meillo@0 158
meillo@0 159 \fBpipe_fromline = \fIboolean\f1\fB\f1
meillo@0 160
meillo@0 161 If this is set, a from line will be prepended to the output stream whenever a pipe command is called after an alias expansion. Default is false.
meillo@0 162 .TP
meillo@0 163
meillo@0 164 \fBpipe_fromhack = \fIboolean\f1\fB\f1
meillo@0 165
meillo@0 166 If this is set, each line beginning with 'From ' is replaced with '>From ' whenever a pipe command is called after an alias expansion. You probably want this if you have set \fBpipe_fromline\f1 above. Default is false.
meillo@0 167 .TP
meillo@0 168
meillo@0 169 \fBmbox_default = \fIstring\f1\fB\f1
meillo@0 170
meillo@0 171 The default local delivery method. Can be one of mbox, mda or maildir (the latter only if maildir support is enabled at compile time). Default is mbox. You can override this for each user by using the \fBmbox_users\f1, \fBmda_users\f1 or \fBmaildir_users\f1 options (see below).
meillo@0 172 .TP
meillo@0 173
meillo@0 174 \fBmbox_users = \fIlist\f1\fB\f1
meillo@0 175
meillo@0 176 A list of users which wish delivery to an mbox style mail folder.
meillo@0 177 .TP
meillo@0 178
meillo@0 179 \fBmda_users = \fIlist\f1\fB\f1
meillo@0 180
meillo@0 181 A list of users which wish local delivery to an mda. You have to set \fBmda\f1 (see below) as well.
meillo@0 182 .TP
meillo@0 183
meillo@0 184 \fBmaildir_users = \fIlist\f1\fB\f1
meillo@0 185
meillo@0 186 A list of users which wish delivery to a qmail style maildir. The path to maildir is ~/Maildir/. The maildir will be created if it does not exist.
meillo@0 187 .TP
meillo@0 188
meillo@0 189 \fBmda = \fIexpand string\f1\fB\f1
meillo@0 190
meillo@0 191 If you want local delivery to be transferred to an mda (Mail Delivery Agent), set this to a command. The argument will be expanded on delivery time, you can use variables beginning with a '$' sign, optionally enclosed in curly braces. Variables you can use are:
meillo@0 192
meillo@0 193 uid - the unique message id. This is not necessarily identical with the Message ID as given in the Message ID: header.
meillo@0 194
meillo@0 195 received_host - the host the mail was received from
meillo@0 196
meillo@0 197 ident - the ident, this is either the ident delivered by the ident protocol or the user id of the sender if the message was received locally.
meillo@0 198
meillo@0 199 return_path_local - the local part of the return path (sender).
meillo@0 200
meillo@0 201 return_path_domain - the domain part of the return path (sender).
meillo@0 202
meillo@0 203 return_path - the complete return path (sender).
meillo@0 204
meillo@0 205 rcpt_local - the local part of the recipient.
meillo@0 206
meillo@0 207 rcpt_domain - the domain part of the recipient.
meillo@0 208
meillo@0 209 rcpt - the complete recipient address.
meillo@0 210
meillo@0 211 Example:
meillo@0 212
meillo@0 213 mda="/usr/bin/procmail -Y -d ${rcpt_local}"
meillo@0 214
meillo@0 215 For the mda, as for pipe commands, a few environment variables will be set as well. See \fBmasqmail (8)\f1. To use environment variables for the mda, the '$' sign has to be escaped with a backslash, otherwise they will be tried to be expanded with the internal variables.
meillo@0 216 .TP
meillo@0 217
meillo@0 218 \fBmda_fromline = \fIboolean\f1\fB\f1
meillo@0 219
meillo@0 220 If this is set, a from line will be prepended to the output stream whenever a message is delivered to an mda. Default is false.
meillo@0 221 .TP
meillo@0 222
meillo@0 223 \fBmda_fromhack = \fIboolean\f1\fB\f1
meillo@0 224
meillo@0 225 If this is set, each line beginning with 'From ' is replaced with '>From ' whenever a message is delivered to an mda. You probably want this if you have set \fBmda_fromline\f1 above. Default is false.
meillo@0 226 .TP
meillo@0 227
meillo@0 228 \fBonline_detect = \fIstring\f1\fB\f1
meillo@0 229
meillo@0 230 Defines the method MasqMail uses to detect whether there is currently an online connection. It can have the values \fBfile\f1, \fBpipe\f1 or \fBmserver\f1.
meillo@0 231
meillo@0 232 When it is set to \fBfile\f1, MasqMail first checks for the existence of \fBonline_file\f1 (see below) and if it exists, it reads it. The content of the file should be the name of the current connection as defined with \fBconnect_route.\fIname\f1\fB\f1 (without a trailing newline character).
meillo@0 233
meillo@0 234 When it is set to \fBpipe\f1, MasqMail calls the executable given by the \fBonline_pipe\f1 option (see below) and reads the current online status from its standard output.
meillo@0 235
meillo@0 236 When it is set to \fBmserver\f1, MasqMail connects to the masqdialer server using the value of \fBmserver_iface\f1 and asks it whether a connection exists and for the name, which should be the name of the current connection as defined with \fBconnect_route.\fIname\f1\fB\f1.
meillo@0 237
meillo@0 238 No matter how MasqMail detects the online status, only messages that are accepted at online time will be delivered using the connection. The spool still has to be emptied with masqmail \fB-qo\f1\fIconnection\f1.
meillo@0 239 .TP
meillo@0 240
meillo@0 241 \fBonline_file = \fIfile\f1\fB\f1
meillo@0 242
meillo@0 243 This is the name of the file checked for when MasqMail determines whether it is online. The file should only exist when there is currently a connection. Create it in your ip-up script with eg.
meillo@0 244
meillo@0 245 echo -n <name> > /tmp/connect_route
meillo@0 246
meillo@0 247 chmod 0644 /tmp/connect_route
meillo@0 248
meillo@0 249 Do not forget to delete it in your ip-down script.
meillo@0 250 .TP
meillo@0 251
meillo@0 252 \fBonline_pipe = \fIfile\f1\fB\f1
meillo@0 253
meillo@0 254 This is the name of the executable which will be called to determine the online status. This executable should just print the name oif the current connection to the standard output and return a zero status code. masqmail assumes it is offline if the script returns with a non zero status. Simple example:
meillo@0 255
meillo@0 256 #!/bin/sh
meillo@0 257
meillo@0 258
meillo@0 259
meillo@0 260 [ -e /tmp/connect_route ] || exit 1
meillo@0 261
meillo@0 262 cat /tmp/connect_route
meillo@0 263
meillo@0 264 exit 0
meillo@0 265
meillo@0 266 Of course, instead of the example above you could as well use \fBfile\f1 as the online detection method, but you can do something more sophisticated.
meillo@0 267 .TP
meillo@0 268
meillo@0 269 \fBmserver_iface = \fIinterface\f1\fB\f1
meillo@0 270
meillo@0 271 The interface the masqdialer server is listening to. Usually this will be "localhost:224" if mserver is running on the same host as masqmail. But using this option, you can also let masqmail run on another host by setting \fBmserver_iface\f1 to another hostname, eg. "foo:224".
meillo@0 272 .TP
meillo@0 273
meillo@0 274 \fBget.\fIname\f1\fB = \fIfile\f1\fB\f1
meillo@0 275
meillo@0 276 Replace \fIname\f1 with a name to identify a get configuration. Set this to a filename for the get configuration. These files will be used to retrieve mail when called with the -g option.
meillo@0 277 .TP
meillo@0 278
meillo@0 279 \fBonline_gets.\fIname\f1\fB = \fIlist\f1\fB\f1
meillo@0 280
meillo@0 281 Replace \fIname\f1 with a name to identify an online configuration. Set this to a filename (or a list of filenames) for the get configuration. These files will be used to retrieve mail when called with the -go option.
meillo@0 282 .TP
meillo@0 283
meillo@0 284 \fBident_trusted_nets = \fIlist\f1\fB\f1
meillo@0 285
meillo@0 286 \fIlist\f1 is a list of networks of the form a.b.c.d/e (eg. 192.168.1.0/24), from which the ident given by the ident protocol will be trusted, so a user can delete his mail from the queue if the ident is identical to his login name.
meillo@0 287 .TP
meillo@0 288
meillo@0 289 \fBerrmsg_file = \fIfile\f1\fB\f1
meillo@0 290
meillo@0 291 Set this to a template which will be used to generate delivery failure reports. Variable parts within the template begin with a dollar sign and are identical to those which can be used as arguments for the mda command, see \fBmda\f1 above. Additional information can be included with @failed_rcpts, @msg_headers and @msg_body, these must be at the beginning of a line and will be replaced with the list of the failed recipients, the message headers and the message body of the failed message.
meillo@0 292
meillo@0 293 Default is /usr/share/masqmail/tpl/failmsg.tpl.
meillo@0 294 .TP
meillo@0 295
meillo@0 296 \fBwarnmsg_file = \fIfile\f1\fB\f1
meillo@0 297
meillo@0 298 Set this to a template which will be used to generate delivery warning reports. It uses the same mechanisms for variables as \fBerrmsg_file\f1, see above.
meillo@0 299
meillo@0 300 Default is /usr/share/masqmail/tpl/warnmsg.tpl.
meillo@0 301 .TP
meillo@0 302
meillo@0 303 \fBwarn_intervals\f1 = \fIlist\f1
meillo@0 304
meillo@0 305 Set this to a list of time intervals, at which delivery warnings (starting with the receiving time of the message) shall be generated.
meillo@0 306
meillo@0 307 A warning will only be generated just after an attempt to deliver the mail and if that attempt failed temporarily. So a warning may be generated after a longer time, if there was no attempt before.
meillo@0 308
meillo@0 309 Default is "1h;4h;8h;1d;2d;3d"
meillo@0 310 .TP
meillo@0 311
meillo@0 312 \fBmax_defer_time\f1 = \fItime\f1
meillo@0 313
meillo@0 314 This is the maximum time, in which a temporarily failed mail will be kept in the spool. When this time is exceeded, it will be handled as a delivery failure, and the message will be bounced.
meillo@0 315
meillo@0 316 The excedence of this time will only be noticed if the message was actually tried to be delivered. If, for example, the message can only be delivered when online, but you have not been online for that time, no bounce will be generated.
meillo@0 317
meillo@0 318 Default is 4d (4 days)
meillo@0 319 .TP
meillo@0 320
meillo@0 321 \fBlog_user = \fIname\f1\fB\f1
meillo@0 322
meillo@0 323 Replace \fIname\f1 with a valid local or remote mail address.
meillo@0 324
meillo@0 325 If this option is not empty, then a copy of every mail, that passes trough the masqmail system will also be sent to the given mail address.
meillo@0 326
meillo@0 327 For example you can feed your mails into a program like hypermail for archiving purpose by placing an appropriate pipe command in masqmail.alias
meillo@0 328 .SH AUTHOR
meillo@0 329
meillo@0 330 masqmail was written by Oliver Kurth <oku@masqmail.cx>
meillo@0 331
meillo@0 332 You will find the newest version of masqmail at \fBhttp://masqmail.cx/masqmail/\f1 or search for it in freshmeat (\fBhttp://www.freshmeat.net\f1). There is also a mailing list, you will find information about it at masqmails main site.
meillo@0 333
meillo@0 334 .SH BUGS
meillo@0 335
meillo@0 336 You should report them to the mailing list.
meillo@0 337
meillo@0 338 .SH SEE ALSO
meillo@0 339
meillo@0 340 \fBmasqmail (8)\f1, \fBmasqmail.route (5)\f1, \fBmasqmail.get (5)\f1
meillo@0 341
meillo@0 342 .SH COMMENTS
meillo@0 343
meillo@0 344 This man page was written using \fBxml2man (1)\f1 by the same author.
meillo@0 345