NAME

masqmail.route - masqmail route configuration file

DESCRIPTION

This man page describes the syntax of the route configuration files of
masqmail(8). Their usual locations are in /etc/masqmail/.

OPTIONS

protocol = stringstring can be one of `smtp' or `pipe', default is `smtp'. If
set to `smtp', mail will be sent with the SMTP protocol to its
destination. If set to `pipe', you also have to set `pipe' to a
command, the message will then be piped to a program. See
option `pipe' below.
mail_host = string
This is preferably the mail server of your ISP. All outgoing
messages will be sent to this host which will distribute them to
their destinations. If you do not set this mails will be sent
directly. Because the mail server is probably `near' to you,
mail transfer will be much faster if you use it.
You can optionally give a port number following the host name
and a colon, eg mail_host="mail.foo.com:25".
resolve_list = list
Specify the method how the domain of the server is resolved.
Possible values are dns_mx, dns_a, byname. For `dns_mx', the
domain is assumed to be an MX pointer to a list of host names,
these will be tried each in order (lowest preference value
first, equal preference values in random order). For `dns_a',
the domain is assumed to be an A pointer. For `byname', the
library function gethostbyname(3) will be used.
The default is "dns_mx;dns_a;byname".
connect_error_fail = boolean
If this is set, a connection error will cause a mail delivery to
fail, ie. it will be bounced. If it is unset, it will just be
defered.
Default is false. The reason for this is that masqmail is
designed for non permanent internet connections, where such
errors may occur quite often, and a bounce would be annoying.
For the default local_net route it is set to true.
helo_name = string
Set the name given with the HELO/EHLO command. If this is not
set, host_name from masqmail.conf will be used, if the
do_correct_helo option (see below) is unset.
do_correct_helo = boolean
If this is set, masqmail tries to look up your host name as it
appears on the internet and sends this in the HELO/EHLO command.
Some servers are so picky that they want this. Which is really
crazy. It just does not make any sense to lie about ones own
identity, because it can always be looked up by the server.
Nobody should believe in the name given by HELO/EHLO anyway. If
this is not set, host_name from masqmail.conf or as given with
the helo_name (see above) will be used.
do_pipelining = boolean
If this is set to false, masqmail will not use ESMTP PIPELINING,
even if the server announces that it is able to cope with it.
Default is true.
You do not want to set this to false unless the mail setup on
the remote server side is really broken. Keywords: wingate.
allowed_mail_locals = list
This is a semicolon `;' separated list of local parts which will
be allowed to send mail through this connection. If unset and
not_allowed_mail_locals is also unset, all users are allowed.
not_allowed_mail_locals = list
This is a semicolon `;' separated list of local parts which will
be not allowed to send mail through this connection. Local
parts in this list will not be allowed to use this route even if
they are part of allowed_mail_locals (see above).
allowed_return_paths = list
This is a semicolon `;' separated list of addresses. Messages
which have one of these addresses as the return path will be
used using this route (if not also in not_allowed_return_paths
or an item in not_allowed_mail_locals matches).
Patterns containing `?' and `*' can be used. The special item
"<>" matches the null sender address (eg. failure notices or
delivery notifications).
not_allowed_return_paths = list
This is a semicolon `;' separated list of addresses. Messages
which have one of these addresses as the return path will not be
used using this route (even if also in allowed_return_paths or
an item in allowed_mail_locals matches).
Patterns containing `?' and `*' can be used. The special item
"<>" matches the null sender address (eg. failure notices or
delivery notifications).
allowed_rcpt_domains = list
A list of recipient domains where mail will be sent to. This is
for example useful if you use this route configuration when
connected to another LAN via ppp. Patterns containing `?' and
`*' can be used.
not_allowed_rcpt_domains = list
A list of recipient domains where mail will not be sent to.
This is for example useful if you send mail directly (mail_host
is not set) and you know of hosts that will not accept mail from
you because they use a dialup list (eg.
http://maps.vix.com/dul/). If any domain matches both
allowed_rcpt_domains and not_allowed_rcpt_domains, mail will not
be sent to this domain. Patterns containing `?' and `*' can be
used.
set_h_from_domain = string
Replace the domain part in `From:' headers with this value.
This may be useful if you use a private, outside unknown address
on your local LAN and want this to be replaced by the domain of
the address of your email address on the internet. Note that
this is different to set_return_path_domain, see below.
set_h_reply_to_domain = string
Same as set_h_from_domain, but for the `Reply-To' header.
set_return_path_domain = string
Sets the domain part of the envelope from address. Some hosts
check whether this is the same as the net the connection is
coming from. If not, they reject the mail because they suspect
spamming. It should be a valid address, because some mail
servers also check that. You can also use this to set it to
your usual address on the internet and put a local address only
known on your LAN in the configuration of your mailer. Only the
domain part will be changed, the local part remains unchanged.
Use map_return_path_addresses for rewriting local parts.
map_h_from_addresses = list
This is similar to set_h_from_domain, but more flexible. Set
this to a list which maps local parts to a full RFC 822
compliant email address, the local parts (the keys) are
separated from the addresses (the values) by colons (`:').
Example:
map_h_from_addresses = "john: John Smith
<jsmith@mail.academic.edu>; charlie: Charlie Miller
<cmiller@mx.commercial.com>"
You can use patterns, eg. * as keys.
map_h_reply_to_addresses = list
Same as map_h_from_addresses, but for the `Reply-To:' header.
map_h_mail_followup_to_addresses = list
Same as map_h_from_addresses, but for the `Mail-Followup-To:'
header. Useful when replying to mailing lists.
map_return_path_addresses = list
This is similar to set_return_path_domain, but more flexible.
Set this to a list which maps local parts to a full RFC 821
compliant email address, the local parts (the keys) are
separated from the addresses (the values) by colons (`:'). Note
that this option takes RFC 821 addresses while
map_h_from_addresses takes RFC 822 addresses. The most
important difference is that RFC 821 addresses have no full
name.
Example:
map_return_path_addresses = "john: <jsmith@mail.academic.edu>;
charlie: <cmiller@mx.commercial.com>"
You can use patterns, eg. * as keys.
expand_h_sender_address = boolean
This sets the domain of the sender address as given by the
Sender: header to the same address as in the envelope return
path address (which can be set by either set_return_path_domain
or map_return_path_addresses). This is for mail clients (eg.
Microsoft Outlook) which use this address as the sender address.
Though they should use the From: address, see RFC 821. If
fetchmail(1) encounters an unqualified Sender: address, it will
be expanded to the domain of the pop server, which is almost
never correct. Default is true.
expand_h_sender_domain = boolean
Like expand_h_sender_address, but sets the domain only.
Deprecated, will be removed in a later version.
last_route = boolean
If this is set, a mail which would have been delivered using
this route, but has failed temporarily, will not be tried to be
delivered using the next route.
If you have set up a special route with filters using the lists
`allowed_rcpt_domains', `allowed_return_paths', and
`allowed_mail_locals' or their complements (not_), and the mail
passing these rules should be delivered using this route only,
you should set this to `true'. Otherwise the mail would be
passed to the next route (if any), unless that route has rules
which prevent that.
Default is false.
auth_name = string
Set the authentication type for ESMTP AUTH authentication.
Currently only `cram-md5' and `login' are supported.
auth_login = string
Your account name for ESMTP AUTH authentication.
auth_secret = string
Your secret for ESMTP AUTH authentication.
pop3_login = file
If your Mail server requires SMTP-after-POP, set this to a get
configuration (see masqmail.get(5)). If you login to the POP
server before you send, this is not necessary.
wrapper = command
If set, instead of opening a connection to a remote server,
command will be called and all traffic will be piped to its
stdin and from its stdout. Purpose is to tunnel ip traffic, eg.
for ssl.
Example for ssl tunneling:
wrapper="/usr/bin/openssl s_client -quiet -connect
mail.gmx.net:465 2>/dev/null"
Note: The above line works with masqmail, but listening on Port
465 for SSL-encrypted connections is deprecated. The modern way
is STARTTLS (RFC-3207). This could be covered by the following
command. Unfortunately, masqmail doesn't support that yet (as
of 0.2.25).
wrapper="/usr/bin/openssl s_client -quiet -starttls smtp
-connect mail.gmx.net:25 2>/dev/null"
Note for openssl: Ensure that stderr is redirected. Do *not*
use -crlf in the wrapper command, because masqmail does already
insert CRLF. However, you might want to specify -crlf if you
want to test your wrapper command interactively on the command
line.
pipe = command
If set, and protocol is set to `pipe', command will be called
and the message will be piped to its stdin. Purpose is to use
gateways to uucp, fax, sms or whatever else.
You can use variables to give as arguments to the command, these
are the same as for the mda in the main configuration, see
masqmail.conf(5).
pipe_fromline=boolean
If this is set, and protocol is set to `pipe', a from line will
be prepended to the output stream whenever a pipe command is
called. Default is false.
pipe_fromhack=boolean
If this is set, and protocol is set to `pipe', each line
beginning with `From ' is replaced with `>From ' whenever a pipe
command is called. You probably want this if you have set
pipe_fromline above. Default is false.

AUTHOR

Masqmail was written by Oliver Kurth. It is now maintained by Markus
Schnalke <meillo@marmaro.de>.
You will find the newest version of masqmail at
http://marmaro.de/prog/masqmail/. There is also a mailing list, you
will find information about it at masqmail's main site.