Mercurial > masqmail
diff docs/xml/masqmail.conf.5.xml @ 0:08114f7dcc23 0.2.21
this is masqmail-0.2.21 from oliver kurth
author | meillo@marmaro.de |
---|---|
date | Fri, 26 Sep 2008 17:05:23 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/xml/masqmail.conf.5.xml Fri Sep 26 17:05:23 2008 +0200 @@ -0,0 +1,561 @@ +<?xml version="1.0" standalone='no'?> +<!DOCTYPE spec SYSTEM "man.dtd"> + +<manpage name="masqmail.conf" section="5" desc="masqmail configuration file"> + +<description> +<p>This man page describes the syntax of the main configuration file +of masqmail. Its usual location is <file>/etc/masqmail/masqmail.conf</file></p> + +<p>The configuration consists of lines of the form</p> + +<p><opt>val</opt> = <arg>expression</arg></p> + +<p>Where <opt>val</opt> is a variable name and <arg>expression</arg> 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 <em>must</em> be quoted. You can use quotes inside quotes +by escaping them with a backslash.</p> + +<p>Each val has a <i>type</i>, 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.</p> + +<p>Most lists (exceptions: <opt>local_hosts</opt>, +<opt>local_nets</opt>, <opt>listen_addresses</opt>, <opt>online_routes</opt> and <opt>online_gets</opt>) 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.</p> + +<p>Blank lines and lines starting with '#' are ignored.</p> + +</description> + +<options> +<option> +<p><opt>run_as_user = <arg>boolean</arg></opt></p> +<optdesc> +<p>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 +<em>only</em>. 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.</p> +</optdesc> +</option> + +<option> +<p><opt>use_syslog = <arg>boolean</arg></opt></p> +<optdesc> +<p>If this is set, masqmail uses syslogd for logging. It uses facility +MAIL. You still have to set <opt>log_dir</opt> for debug files.</p> +</optdesc> +</option> + +<option> +<p><opt>debug_level = <arg>n</arg></opt></p> +<optdesc> +<p>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.</p> +</optdesc> +</option> + +<option> +<p><opt>mail_dir = <arg>file</arg></opt></p> +<optdesc> +<p>The directory where local mail is stored, +usually <file>/var/spool/mail</file> or <file>/var/mail</file>.</p> +</optdesc> +</option> + +<option> +<p><opt>spool_dir = <arg>file</arg></opt></p> +<optdesc> +<p>The directory where masqmail stores its spool files (and later also +other stuff). It <em>must</em> have a subdirectory <file>input</file>. +Masqmail needs read and write permissions for this +directory. I suggest to use <file>/var/spool/masqmail</file>.</p> +</optdesc> +</option> + +<option> +<p><opt>host_name = <arg>string</arg></opt></p> +<optdesc> +<p>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.</p> + +<p>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.</p> + +<p>It is <em>not</em> used to find whether an address is local. +Use <opt>local_hosts</opt> for that.</p> +</optdesc> +</option> + +<option> +<p><opt>remote_port = <arg>n</arg></opt></p> +<optdesc> +<p>The remote port number to be used. This defaults to port 25.</p> +<p>This option is deprecated. Use <opt>host_name</opt> in the route +configuration instead. See <manref name="masqmail.route" section="5" +href="masqmail.route.5.html"/>.</p> +</optdesc> +</option> + +<option> +<p><opt>local_hosts = <arg>list</arg></opt></p> +<optdesc> +<p>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'.</p> +</optdesc> +</option> + +<option> +<p><opt>local_nets = <arg>list</arg></opt></p> +<optdesc> +<p>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".</p> +</optdesc> +</option> + +<option> +<p><opt>local_addresses = <arg>list</arg></opt></p> +<optdesc> +<p>A semicolon ';' separated list of fully qualified email-addresses +which are considered local although their domain name part is not in +the list of <opt>local_hosts</opt>. </p> +<p>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</p> +<p>local_addresses = "person1@yourdomain;person2@yourdomain"</p> +<p>to your masqmail.conf.</p> +</optdesc> +</option> + +<option> +<p><opt>not_local_addresses = <arg>list</arg></opt></p> +<optdesc> +<p>A semicolon ';' separated list of fully qualified email-addresses +which are considered not local although their domain name part is in +the list of <opt>local_hosts</opt>. </p> +<p>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.</p> +<p>Example:</p> +<p>local_hosts = "localhost;myhost;mydomain.net"</p> +<p>not_local_addresses = "eric@mydomain.net"</p> +</optdesc> +</option> + +<option> +<p><opt>listen_addresses = <arg>list</arg></opt></p> +<optdesc> +<p>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.</p> +<p>You can set this to "localhost:25;foo:25" if your hostname is 'foo'.</p> +<p>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. +</p> +</optdesc> +</option> + +<option> +<p><opt>do_save_envelope_to = <arg>boolean</arg></opt></p> +<optdesc> +<p>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.</p> +<p>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.</p> +<p>Default is false.</p> +</optdesc> +</option> + +<option> +<p><opt>do_relay = <arg>boolean</arg></opt></p> +<optdesc> +<p>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.</p> +<p>Note that this will not protect you from spammers using open relays, but from +users unable to set their address in their mail clients.</p> +</optdesc> +</option> + +<option> +<p><opt>do_queue = <arg>boolean</arg></opt></p> +<optdesc> +<p>If this is set, mail will not be delivered immediately when +accepted. Same as calling masqmail with the <opt>-odq</opt> option.</p> +</optdesc> +</option> + +<option> +<p><opt>online_routes.<arg>name</arg> = <arg>list</arg></opt></p> +<optdesc> + +<p>Replace <arg>name</arg> 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 + <opt>-qo</opt> option every time a connection to your ISP is set +up.</p> + +<p>Example: Your ISP has the name <i>FastNet</i>. Then you write the +following line in the main configuration:</p> + +<p><opt>online_routes.FastNet</opt> = <arg>"/etc/masqmail/fastnet.route"</arg></p> + +<p><file>/etc/masqmail/fastnet.route</file> is the route configuration +file, see <manref name="masqmail.route" section="5" href="masqmail.route.5.html"/>. As soon as a link to FastNet has been set up, you +call masqmail <opt>-qo</opt> <arg>FastNet</arg>. Masqmail will then +read the specified file and send the mails.</p> + +</optdesc> +</option> + +<option> +<p><opt>connect_route.<arg>name</arg> = <arg>list</arg></opt></p> +<optdesc> +<p>Old name for <opt>online_routes</opt>.</p> +</optdesc> +</option> + + +<option> +<p><opt>local_net_route = <arg>file</arg></opt></p> +<optdesc> +<p>This is similar to <opt>online_routes.<arg>name</arg></opt> but for the +local net. Recipient addresses that are in <b>local_nets</b> will be +routed using this route configuration. Main purpose is to define a +mail server with <b>mail_host</b> in your local network. In simple +environments this can be left unset. If unset, a default route +configuration will be used.</p> +</optdesc> +</option> + +<option> +<p><opt>alias_file = <arg>file</arg></opt></p> +<optdesc> +<p>Set this to the location of your alias file. If unset, no aliasing +will be done.</p> +</optdesc> +</option> + +<option> +<p><opt>alias_local_caseless = <arg>boolean</arg></opt></p> +<optdesc> +<p>If this is set, local parts in the alias file will be matched +disregarding upper/lower case.</p> +</optdesc> +</option> + +<option> +<p><opt>pipe_fromline = <arg>boolean</arg></opt></p> +<optdesc> +<p>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.</p> +</optdesc> +</option> + +<option> +<p><opt>pipe_fromhack = <arg>boolean</arg></opt></p> +<optdesc> +<p>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 <opt>pipe_fromline</opt> above. Default is false.</p> +</optdesc> +</option> + +<option> +<p><opt>mbox_default = <arg>string</arg></opt></p> +<optdesc> +<p>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 <opt>mbox_users</opt>, <opt>mda_users</opt> or <opt>maildir_users</opt> options +(see below). +</p> +</optdesc> +</option> + +<option> +<p><opt>mbox_users = <arg>list</arg></opt></p> +<optdesc> +<p>A list of users which wish delivery to an mbox style mail folder.</p> +</optdesc> +</option> + +<option> +<p><opt>mda_users = <arg>list</arg></opt></p> +<optdesc> +<p>A list of users which wish local delivery to an mda. You have to +set <opt>mda</opt> (see below) as well.</p> +</optdesc> +</option> + +<option> +<p><opt>maildir_users = <arg>list</arg></opt></p> +<optdesc> +<p>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.</p> +</optdesc> +</option> + +<option> +<p><opt>mda = <arg>expand string</arg></opt></p> +<optdesc> +<p>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:</p> +<p>uid - the unique message id. This is not necessarily identical with +the Message ID as given in the Message ID: header.</p> +<p>received_host - the host the mail was received from</p> +<p>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.</p> +<p>return_path_local - the local part of the return path (sender).</p> +<p>return_path_domain - the domain part of the return path (sender).</p> +<p>return_path - the complete return path (sender).</p> +<p>rcpt_local - the local part of the recipient.</p> +<p>rcpt_domain - the domain part of the recipient.</p> +<p>rcpt - the complete recipient address.</p> +<p>Example:</p><p>mda="/usr/bin/procmail -Y -d ${rcpt_local}"</p> +<p>For the mda, as for pipe commands, a few environment variables will +be set as well. See <manref name="masqmail" section="8" +href="masqmail.8.html"/>. 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.</p> + +</optdesc> +</option> + +<option> +<p><opt>mda_fromline = <arg>boolean</arg></opt></p> +<optdesc> +<p>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.</p> +</optdesc> +</option> + +<option> +<p><opt>mda_fromhack = <arg>boolean</arg></opt></p> +<optdesc> +<p>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 <opt>mda_fromline</opt> above. Default is false.</p> +</optdesc> +</option> + +<option> +<p><opt>online_detect = <arg>string</arg></opt></p> +<optdesc> +<p>Defines the method MasqMail uses to detect whether there is +currently an online connection. It can have the +values <opt>file</opt>, <opt>pipe</opt> or <opt>mserver</opt>.</p> + +<p>When it is set to <opt>file</opt>, MasqMail first checks for the +existence of <opt>online_file</opt> (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 <opt>connect_route.<arg>name</arg></opt> (without +a trailing newline character).</p> + +<p>When it is set to <opt>pipe</opt>, MasqMail calls the executable given by +the <opt>online_pipe</opt> option (see below) and reads the current online +status from its standard output.</p> + +<p>When it is set to <opt>mserver</opt>, MasqMail connects to the +masqdialer server using the value of <opt>mserver_iface</opt> and asks it +whether a connection exists and for the name, which should be the name +of the current connection as defined with <opt>connect_route.<arg>name</arg></opt>.</p> + +<p>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 <opt>-qo</opt> +<arg>connection</arg>.</p> +</optdesc> +</option> + +<option> +<p><opt>online_file = <arg>file</arg></opt></p> +<optdesc> +<p>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.</p> + +<p>echo -n <name> > /tmp/connect_route</p> +<p>chmod 0644 /tmp/connect_route</p> + +<p>Do not forget to delete it in your ip-down script.</p> +</optdesc> +</option> + +<option> +<p><opt>online_pipe = <arg>file</arg></opt></p> +<optdesc> +<p>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:</p> + +<p>#!/bin/sh</p> +<p></p> +<p>[ -e /tmp/connect_route ] || exit 1</p> +<p>cat /tmp/connect_route</p> +<p>exit 0</p> + +<p>Of course, instead of the example above you could as well use <opt>file</opt> as +the online detection method, but you can do something more sophisticated.</p> +</optdesc> +</option> + +<option> +<p><opt>mserver_iface = <arg>interface</arg></opt></p> +<optdesc> +<p>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 <opt>mserver_iface</opt> to another hostname, +eg. "foo:224".</p> +</optdesc> +</option> + +<option> +<p><opt>get.<arg>name</arg> = <arg>file</arg></opt></p> +<optdesc> +<p>Replace <arg>name</arg> 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.</p> +</optdesc> +</option> + +<option> +<p><opt>online_gets.<arg>name</arg> = <arg>list</arg></opt></p> +<optdesc> +<p>Replace <arg>name</arg> 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.</p> +</optdesc> +</option> + +<option> +<p><opt>ident_trusted_nets = <arg>list</arg></opt></p> +<optdesc> +<p><arg>list</arg> 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.</p> +</optdesc> +</option> + +<option> +<p><opt>errmsg_file = <arg>file</arg></opt></p> +<optdesc> +<p>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 <opt>mda</opt> above. Additional information can be included with +@failed_rcpts, @msg_headers and @msg_body, these <b>must</b> 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.</p> +<p>Default is /usr/share/masqmail/tpl/failmsg.tpl.</p> +</optdesc> +</option> + +<option> +<p><opt>warnmsg_file = <arg>file</arg></opt></p> +<optdesc> +<p>Set this to a template which will be used to generate delivery warning +reports. It uses the same mechanisms for variables as <opt>errmsg_file</opt>, +see above. +</p> +<p>Default is /usr/share/masqmail/tpl/warnmsg.tpl.</p> +</optdesc> +</option> + +<option> +<p><opt>warn_intervals</opt> = <arg>list</arg></p> +<optdesc> +<p>Set this to a list of time intervals, at which delivery warnings (starting +with the receiving time of the message) shall be generated.</p> +<p>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.</p> +<p>Default is "1h;4h;8h;1d;2d;3d"</p> +</optdesc> +</option> + +<option> +<p><opt>max_defer_time</opt> = <arg>time</arg></p> +<optdesc> +<p>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.</p> +<p>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.</p> +<p>Default is 4d (4 days)</p> +</optdesc> +</option> + +<option> +<p><opt>log_user = <arg>name</arg></opt></p> +<optdesc> +<p>Replace <arg>name</arg> with a valid local or remote mail address.</p> +<p>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.</p> +<p>For example you can feed your mails into a program like <i>hypermail</i> for +archiving purpose by placing an appropriate pipe command in masqmail.alias</p> +</optdesc> +</option> + +</options> + +<section name = "Author"> +<p>masqmail was written by Oliver Kurth +<oku@masqmail.cx></p><p>You will find the newest version of +masqmail at <url href="http://masqmail.cx/masqmail/"/> or search for it +in freshmeat (<url href="http://www.freshmeat.net"/>). There is also a mailing list, +you will find information about it at masqmails main site.</p> +</section> + +<section name = "Bugs"> +<p>You should report them to the mailing list.</p> +</section> + +<section name = "See also"> +<p> +<manref name="masqmail" section="8" href="masqmail.8.html"/>, <manref name="masqmail.route" section="5" href="masqmail.route.5.html"/>, <manref name="masqmail.get" section="5" href="masqmail.get.5.html"/> +</p> +</section> + + +<section name = "Comments"> +<p>This man page was written using <manref name="xml2man" section="1" +href="http://masqmail.cx/xml2man/"/> by the same +author.</p> +</section> + +</manpage> +