meillo@56: 
meillo@56: 
meillo@56: 
meillo@56: 
meillo@56: 
meillo@56: 
meillo@56: 
meillo@56: 
meillo@56: <HTML>
meillo@56: <HEAD>
meillo@56: <TITLE>MasqMail - Manual
meillo@56: </TITLE>
meillo@56: </HEAD>
meillo@56:   <BODY TEXT="#000000" LINK="#0000ff" BGCOLOR="#ffffff">
meillo@56:     
meillo@56:     <center>
meillo@56:       <table width="80%">
meillo@56: 	<tr><td>
meillo@56: 	    <table width="100%" bgcolor="#0000aa" cellspacing=0 cellpadding=0>
meillo@56: <tr>
meillo@56:   <td>
meillo@56:   <a href="manual.html">
meillo@56:     <img width="20" src = "../images/u_arrow.gif" alt = "manual">
meillo@56:   </a>
meillo@56:   </td>
meillo@56: <td align=center width="100%"><font size="6" color = "#ffffff">Configuration</font></td>
meillo@56: <td>
meillo@56:   <a href="./alias.html">
meillo@56:     <img width="20" src = "../images/l_arrow.gif" alt = "Alias Format">
meillo@56:   </a>
meillo@56: </td>
meillo@56: <td>
meillo@56:   <a href="./faq.html">
meillo@56:     <img width="20" src = "../images/r_arrow.gif" alt = "Frequently Asked Questions">
meillo@56:   </a>
meillo@56: </td>
meillo@56: </tr>
meillo@56: </table>
meillo@56: 
meillo@56: 
meillo@56: <p>The configuration consists of lines of the form</p>
meillo@56: 
meillo@56: <i>val</i> = <i>expression</i>
meillo@56: 
meillo@56: <p>Where <i>val</i> is a variable name and <i>expression</i> a string,
meillo@56: which can be quoted with '"'. If the expression is on multiple lines
meillo@56: or contains characters other than letters, digits or the charcaters
meillo@56: '.', '-', '_', '/', it <em>must</em> be quoted. Unfortunately, you
meillo@56: cannot use quotes inside quotes. (Will be implemented in a later
meillo@56: version.)</p>
meillo@56: 
meillo@56: <p>Each val has a <i>type</i>, which can be boolean, numeric, string
meillo@56: or list. A boolean variable can be set with one of the values 'on',
meillo@56: 'yes', and 'true' or 'off', 'no' and 'false'. List items are separated
meillo@56: with ';'. For some values patterns (like '*','?') can be used. The
meillo@56: spaces before and after the '=' are optional.</p>
meillo@56: 
meillo@56: <p>Most lists (exceptions: local_hosts, local_nets and
meillo@56: listen_addresses) accept files. These will be recognized by a leading
meillo@56: slash '/'. The contents of these files will be included at the
meillo@56: position of the file name, there can be items or other files before
meillo@56: and after the file entry. The format of the files is different
meillo@56: though, within these files each entry is on another line. (And not
meillo@56: separated by semicolons). This makes it easy to include large lists
meillo@56: which are common in different configuration files, so they do not have
meillo@56: to appear in every configuration file.</p>
meillo@56: 
meillo@56: <p>Blank lines and lines starting with '#' are ignored.</p>
meillo@56: 
meillo@56: <h4><font color = "#ff0000">Main Configuration</font></h4>
meillo@56: 
meillo@56: <b>run_as_user</b>, Type: <i>boolean</i>, default: <i>false</i>
meillo@56: 
meillo@56: <p>If this is set, masqmail runs with the user id of the user who
meillo@56: invoked it and never changes it. This is for debugging purposes
meillo@56: <em>only</em>. If the user is not root, masqmail will not be able to
meillo@56: listen on a port &lt; 1000 and will not be able to deliver local mail
meillo@56: to others than the user.</p>
meillo@56: 
meillo@56: <b>use_syslog</b>, Type: <i>boolean</i>, default: <i>false</i>
meillo@56: 
meillo@56: <p>If this is set, masqmail uses syslogd for logging. It uses facility
meillo@56: <i>MAIL</i>. You still have to set <b>log_dir</b> for debug files.</p>
meillo@56: 
meillo@56: <b>debug_level</b>, Type: <i>numeric</i>, default: <i>0</i>
meillo@56: 
meillo@56: <p>Set the debug level. Valid values are 0 to 6, increasing it further
meillo@56: makes no difference. Be careful if you set this as high as 5 or higher,
meillo@56: the logs may very soon fill your hard drive.</p>
meillo@56: 
meillo@56: <b>mail_dir</b>, Type: <i>string</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>The directory where local mail is stored, usually /var/spool/mail.</p>
meillo@56: 
meillo@56: <b>spool_dir</b>, Type: <i>string</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>The directory where masqmail stores its spool files (and later also
meillo@56: other stuff). It <em>must</em> have a subdirectory
meillo@56: <i>input</i>. Masqmail needs read and write permissions for this
meillo@56: directory. I suggest to use /var/spool/masqmail.</p>
meillo@56: 
meillo@56: <b>log_dir</b>, Type: <i>string</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>The directory where masqmail puts its log files, these are
meillo@56: <i>masqmail.log</i> and <i>debug.log</i>. Masqmail needs write
meillo@56: permission.</p>
meillo@56: 
meillo@56: <b>host_name</b>, Type: <i>string</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>This is used in different places: Masqmail identifies itself in the
meillo@56: greeting banner on incoming connections and in the HELO/EHLO command
meillo@56: for outgoing connections with this name, it is used in the Received:
meillo@56: header and to qualify the sender of a locally originating message.</p>
meillo@56: 
meillo@56: <p>It is <em>not</em> used to find whether an address is local. Use
meillo@56: <b>local_hosts</b> for that.</p>
meillo@56: 
meillo@56: <b>local_hosts</b>, Type: <i>list</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>A semicolon ';' separated list of hostnames which are considered
meillo@56: local. Normally you set it to "localhost;foo;foo.bar.com" if your host
meillo@56: has the fully qualified domain name 'foo.bar.com'.</p>
meillo@56: 
meillo@56: <b>local_nets</b>, Type: <i>list</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>A semicolon ';' separated list of hostnames which are on the
meillo@56: 'local' net. Delivery to these hosts is attempted immediately. You can
meillo@56: use patterns with '*', eg. "*.bar.com".</p>
meillo@56: 
meillo@56: <b>listen_addresses</b>, Type: <i>list</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>A semicolon ';' separated list of interfaces on which connections
meillo@56: will be accepted. An interface ist defined by a hostname, optionally
meillo@56: followed by a colon ':' and a number for the port. If this is left out,
meillo@56: port 25 will be used.</p>
meillo@56: 
meillo@56: <p>You can set this to "localhost:25;foo:25" if your hostname is 'foo'.</p>
meillo@56: 
meillo@56: <b>do_queue</b>, Type: <i>boolean</i>, default: <i>false</i>
meillo@56: 
meillo@56: <p>If this is set, mail will not be delivered immediately when
meillo@56: accepted. Same as calling masqmail with the -odq option.</p>
meillo@56: 
meillo@56: <b>connect_route.&lt;name&gt;</b>, Type: <i>string</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>Replace &lt;name&gt; with a name to identify a connection. Set this
meillo@56: to a filename for the special <i>route</i> configuration for that
meillo@56: connection. You will use that name to call masqmail with the -qo option
meillo@56: every time a connection to your ISP is set up.</p>
meillo@56: 
meillo@56: <p>Example: Your ISP has the name <i>FastNet</i>. Then you write the
meillo@56: following line in the main configuration:</p>
meillo@56: 
meillo@56: <p><pre>connect_route.FastNet = "/etc/masqmail/fastnet.route"</pre></p>
meillo@56: 
meillo@56: <p>/etc/masqmail/fastnet.route is the route configuration file, see
meillo@56: below. As soon as a link to FastNet has been set up, you call masqmail
meillo@56: -qoFastNet. Masqmail will then read the specified file and send the
meillo@56: mails.</p>
meillo@56: 
meillo@56: <b>local_net_route</b>, Type: <i>string</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>This is similar to <b>connect_route.&lt;name&gt;</b> but for the
meillo@56: local net. Recipient addresses that are in <b>local_nets</b> will be
meillo@56: routed using this route configuration. Main purpose is to define a
meillo@56: mail server with <b>mail_host</b> in your local network. In simple
meillo@56: environments this can be left unset. If unset, a default route
meillo@56: configuration will be used.</p>
meillo@56: 
meillo@56: <b>alias_file</b>
meillo@56: 
meillo@56: <p>Set this to the location of your alias file. If unset, no aliasing
meillo@56: will be done.</p>
meillo@56: 
meillo@56: <b>online_detect</b>, Type: <i>string</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>Defines the method MasqMail uses to detect whether there is
meillo@56: currently an online connection. It can have the values <em>file</em>
meillo@56: or <em>mserver</em>.</p>
meillo@56: 
meillo@56: <p>When it is set to <em>file</em>, MasqMail first checks for the
meillo@56: existence of <b>online_file</b> (see below) and if it exists, it reads
meillo@56: it. The content of the file should be the name of the current
meillo@56: connection as defined with <b>connect_route.&lt;name&gt;</b> (without
meillo@56: a trailing newline character).</p>
meillo@56: 
meillo@56: <p>When it is set to <em>mserver</em>, MasqMail connects to the
meillo@56: masqdialer server using the value of <b>mserver_iface</b> and asks it
meillo@56: whether a connection exists and for the name, which should be the name
meillo@56: of the current connection as defined with
meillo@56: <b>connect_route.&lt;name&gt;</b>.</p>
meillo@56: 
meillo@56: <p>The online status is checked either when masqmail receives a mail
meillo@56: with an address outside your LAN or when called with the -qo option
meillo@56: (without arguments).</p>
meillo@56: 
meillo@56: <b>online_file</b>, Type: <i>string</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>This is the name of the file checked for when MasqMail determines
meillo@56: whether it is online. The file should only exist when there is
meillo@56: currently a connection. Create it in your ip-up script with eg.</p>
meillo@56: 
meillo@56: <p><pre>
meillo@56: echo -n &lt;name&gt; &gt; /tmp/connect_route
meillo@56: chmod 0644 /tmp/connect_route
meillo@56: </pre></p>
meillo@56: 
meillo@56: <p>Do not forget to delete it in your ip-down script.</p>
meillo@56: 
meillo@56: <b>mserver_iface</b>, Type: <i>string</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>The interface the masqdialer server is listening to. Usually this
meillo@56: will be "localhost:224" if mserver is running on the same host as
meillo@56: masqmail. But using this option, you can also let masqmail run on
meillo@56: another host by setting mserver_iface to another hostname,
meillo@56: eg. "foo:224".</p>
meillo@56: 
meillo@56: <b>get.&lt;name&gt;</b>, Type: <i>string</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>Replace &lt;name&gt; with a name to identify a <i>get</i>
meillo@56: configuration. Set this to a filename for the <i>get</i>
meillo@56: configuration. These files will be used to retrieve mail when called
meillo@56: with the -g option.</p>
meillo@56: 
meillo@56: <h4><font color = "#ff0000">Route Configuration</font></h4>
meillo@56: 
meillo@56: <b>mail_host</b>, Type: <i>string</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>This is preferably the mail server of your ISP. All outgoing
meillo@56: messages will be sent to this host which will distribute them to their
meillo@56: destinations. If you do not set this mails will be sent
meillo@56: directly. Because the mail server is probably 'near' to you, mail
meillo@56: transfer will be much faster if you use it.</p>
meillo@56: 
meillo@56: <b>do_correct_helo</b>, Type: <i>boolean</i>, default: <i>false</i>
meillo@56: 
meillo@56: <p>If this is set, masqmail tries to look up your host name as it
meillo@56: appears on the internet and sends this in the HELO/EHLO command. Some
meillo@56: servers are so picky that they want this. <em>Which is really
meillo@56: crazy. It just does not make any sense to lie about ones own identity,
meillo@56: because it can always be looked up by the server. Nobody should
meillo@56: believe in the name given by HELO/EHLO anyway.</em> If this is not
meillo@56: set, <b>host_name</b> will be used.</p>
meillo@56: 
meillo@56: <b>allowed_mail_locals</b>, Type: <i>list</i>, default: <i>none(all)</i>
meillo@56: 
meillo@56: <p>This is a semicolon ';' separated list of local parts which will be
meillo@56: allowed to send mail through this connection. If unset and
meillo@56: <b>not_allowed_mail_locals</b> is also unset, all users are
meillo@56: allowed.</p>
meillo@56: 
meillo@56: <b>not_allowed_mail_locals</b>, Type: <i>list</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>This is a semicolon ';' separated list of local parts which will be
meillo@56: <em>not</em> allowed to send mail through this connection. <em>Local
meillo@56: parts in this list will not be allowed to use this route even if they
meillo@56: are part of <b>allowed_mail_locals</b> (see above).</em></p>
meillo@56: 
meillo@56: <b>allowed_rcpt_domains</b>, Type: <i>list</i>, default: <i>none(all)</i>
meillo@56: 
meillo@56: <p>A list of recipient domains where mail will be sent to. This is for
meillo@56: example useful if you use this route configuration when connected to
meillo@56: another LAN via ppp. Patterns containing '?' and '*' can be used.</p>
meillo@56: 
meillo@56: <b>not_allowed_rcpt_domains</b>, Type: <i>list</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>A list of recipient domains where mail will <em>not</em> be sent
meillo@56: to. This is for example useful if you send mail directly (mail_host
meillo@56: ist not set) and you know of hosts that will not accept mail from you
meillo@56: because they use a dialup list (eg. <a
meillo@56: href="http://maps.vix.com/dul/"> maps.vix.com/dul/</a>). If any domain
meillo@56: matches <em>both</em> <b>allowed_rcpt_domains</b> and
meillo@56: <b>not_allowed_rcpt_domains</b>, mail will <em>not</em> be sent to
meillo@56: this domain. Patterns containing '?' and '*' can be used.</p>
meillo@56: 
meillo@56: <b>set_h_from_domain</b>, Type: <i>string</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>Replace the domain part in 'From:' headers with this value. This
meillo@56: may be useful if you use a private, outside unknown address on your
meillo@56: local LAN and want this to be replaced by the domain of the address of
meillo@56: your email addrsss on the internet. <em>Note that this is different to
meillo@56: <b>set_return_path_domain</b>, see below.</em></p>
meillo@56: 
meillo@56: <b>set_h_reply_to_domain</b>, Type: <i>string</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>Same as <b>set_h_from_domain</b>, but for the 'Reply-To' header.</p>
meillo@56: 
meillo@56: <b>set_return_path_domain</b>, Type: <i>string</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>Sets the domain part of the envelope from address. Some hosts check
meillo@56: whether this is the same as the net the connection is coming from. If
meillo@56: not, they reject the mail because they suspect spamming. It should be
meillo@56: a <em>valid</em> address, because some mail servers also check
meillo@56: that. You can also use this to set it to your usual address on the
meillo@56: internet and put a local address only known on your LAN in the
meillo@56: configuration of your mailer. <em>Only the <em>domain</em> part will
meillo@56: be changed, the local part remains unchanged. Use
meillo@56: <b>map_return_path_addresses</b> for rewriting local parts</em>.</p>
meillo@56: 
meillo@56: <b>map_h_from_addresses</b>, Type: <i>list</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>This is similar to <b>set_h_from_domain</b>, but more flexible. Set
meillo@56: this to a list which maps local parts to a full RFC 822 compliant
meillo@56: email address, the local parts (the <em>keys</em>) are separated from
meillo@56: the addresses (the <em>values</em>) by colons (':').</p>
meillo@56: 
meillo@56: <p>Example:</p>
meillo@56: 
meillo@56: <p><pre>
meillo@56: map_h_from_addresses =
meillo@56: "john: John Smith &lt;jsmith@mail.academic.edu&gt;;
meillo@56: charlie: Charlie Miller &lt;cmiller@mx.commercial.com&gt;"
meillo@56: </pre></p>
meillo@56: 
meillo@56: <b>map_h_reply_to_addresses</b>, Type: <i>list</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>Same as <b>map_h_from_addresses</b>, but for the 'Reply-To:' header.</p>
meillo@56: 
meillo@56: <b>map_return_path_addresses</b>, Type: <i>list</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>This is similar to <b>set_return_path_domain</b>, but more
meillo@56: flexible. Set this to a list which maps local parts to a full RFC 821
meillo@56: compliant email address, the local parts (the <em>keys</em>) are
meillo@56: separated from the addresses (the <em>values</em>) by colons
meillo@56: (':'). Note that this option takes <em>RFC 821</em> addresses
meillo@56: while <b>map_h_from_addresses</b> takes <em>RFC 822</em> addresses. The
meillo@56: most important difference is that RFC 821 addresses have no full
meillo@56: name.</p>
meillo@56: 
meillo@56: <p>Example:</p>
meillo@56: <p><pre>
meillo@56: map_return_path_addresses =
meillo@56: "john: &lt;jsmith@mail.academic.edu&gt;;
meillo@56: charlie: &lt;cmiller@mx.commercial.com&gt;"
meillo@56: </pre></p>
meillo@56: 
meillo@56: <b>expand_h_sender_domain</b>, Type: <i>boolean</i>, default: <i>true</i>
meillo@56: 
meillo@56: <p>This sets the domain of the sender address as given by the Sender:
meillo@56: header to the same domain as in the envelope return path address
meillo@56: (which can be set by either <b>set_return_path_domain</b> or
meillo@56: <b>map_return_path_addresses</b>). This is for mail clients
meillo@56: (eg. Microsoft Outlook) which use this address as the sender
meillo@56: address. <em>Though they should use the From: address, see RFC
meillo@56: 821. </em>If <i>fetchmail</i> encounters an unqualified Sender:
meillo@56: address, it will be expanded to the domain of the pop server, which is
meillo@56: almost never correct. </p>
meillo@56: 
meillo@56: <b>auth_name</b>, Type: <i>string</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>Set the authentication type for ESMTP AUTH authentification.
meillo@56: Currently only 'cram-md5' is supported.</p>
meillo@56: 
meillo@56: <b>auth_login</b>, Type: <i>string</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>Your account name for ESMTP AUTH authentification.</p>
meillo@56: 
meillo@56: <b>auth_secret</b>, Type: <i>string</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>Your secret for ESMTP AUTH authentification.</p>
meillo@56: 
meillo@56: <b>pop_login</b>, Type: <i>string</i>, default: <i>none</i>
meillo@56: 
meillo@56: <p>If your Mail server requires SMTP-after-POP, set this to a
meillo@56: <i>get</i> configuration. If you login to the POP server
meillo@56: <em>before</em> you send, this is not necessary. See the <a href =
meillo@56: "get.html"</a>get configuration</a> for more information.</p>
meillo@56: 
meillo@56: 	  </td></tr>
meillo@56:     
meillo@56: 	<tr><td>
meillo@56: 	    <p>
meillo@56: 	    <hr>
meillo@56: 	    <address><a href = "mailto:kurth@innominate.de">Oliver Kurth</a></address>
meillo@56: 	    Last modified: Tue May 30 15:19:56 CEST 2000
meillo@56: 	    <br>
meillo@56: 	    This page was created using <a href="http://www.freddyfrog.com/hacks/genpage/">Genpage</a> - Version: 1.0.6
meillo@56: 	  </p>
meillo@56:     
meillo@56:       </table>
meillo@56:     </center>
meillo@56: 
meillo@56:   </BODY>
meillo@56: </HEAD>
meillo@56: