DragonFly On-Line Manual Pages
masqmail.route(5) File Formats masqmail.route(5)
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/.
Mail will be sent with the SMTP protocol to its destination, unless
`pipe' is given. In this case the message will be piped to the given
program.
ROUTE CONDITIONS
allowed_senders = list
This is a semicolon `;' separated list of envelope sender
addresses. Messages which have one of these addresses as the
return path (= mail from) are allowed to use this route (if not
also in denied_senders).
Glob patterns containing `?' and `*' can be used. The special
item "<>" matches the null sender address (eg. failure notices
or delivery notifications). If the pattern doesn't contain an
`@', it is seen as a pattern for the local part only.
Example: meillo;*@*example.org;web*@example.com
(``meillo'' equals ``meillo@*'', i.e. the local part.)
denied_senders = list
This is a semicolon `;' separated list of envelope sender
addresses. Messages which have one of these addresses as the
return path (= mail from) will not be sent using this route
(even if also in allowed_senders).
Glob patterns containing `?' and `*' can be used. The special
item "<>" matches the null sender address (eg. failure notices
or delivery notifications). If the pattern doesn't contain an
`@', it is seen as a pattern for the local part only.
Example: (see allowed_senders)
allowed_recipients = list
A list of envelope recipient addresses where mail can be sent to
using this route. This is for example useful if you use this
route configuration when connected to another LAN via ppp. Glob
patterns containing `?' and `*' can be used.
Example: *@example.org;*@*foo.bar
(See also examples for allowed_senders)
denied_recipients = list
A list of envelope recipient addresses where mail will not be
sent to using this route. 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/). denied_recipients
overrules allowed_recipients. Glob patterns containing `?' and
`*' can be used.
Example: *@spamblocker.example.org
(See also examples for allowed_senders)
allowed_from_hdrs = list
This is a semicolon `;' separated list of From header addresses.
Messages which have one of these addresses as the From header
are allowed to use this route (if not also in denied_from_hdrs).
Glob patterns containing `?' and `*' can be used. If the
pattern doesn't contain an `@', it is seen as a pattern for the
local part only.
Example: meillo;*@*example.org;web*@example.com
(``meillo'' equals ``meillo@*'', i.e. the local part.)
denied_from_hdrs = list
This is a semicolon `;' separated list of From header addresses.
Messages which have one of these addresses as the From header
will not be sent using this route (even if also in
allowed_from_hdrs).
Glob patterns containing `?' and `*' can be used. If the
pattern doesn't contain an `@', it is seen as a pattern for the
local part only.
Example: (see allowed_from_hdrs)
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_recipients' and `allowed_senders' or their complements
(denied_), 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.
connect_error_fail = boolean
If this is set, a connection error (or if a pipe command could
not be executed) 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.
You probably want to set this to true for permanent routes.
SMTP CONFIGURATION
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.
For routes to a local network, where you likely don't have a DNS
service, use only `byname'.
The default is "dns_mx;dns_a;byname".
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.
instant_helo = boolean
If this is set, masqmail does not wait for the greeting of the
SMTP server after opening the connection. Instead it says EHLO
right away (ESMTP is assumed). Use this option with wrappers
that eat the 220 greeting of the SMTP server. Common examples
are STARTTLS wrappers, like `openssl s_client -starttls smtp
...'.
If this option is set and a 220 greeting is received though,
everything should still work. Please don't rely on that and
keep in mind that RFC 2821 says that the client SHOULD wait for
the 220 greeting of the server.
Default: false
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.
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.
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 SMTP over SSL tunneling:
wrapper="/usr/bin/openssl s_client -quiet -connect mail.gmx.net:465 2>/dev/null"
SMTP over SSL is supported since masqmail-0.1.8. It is marked
obsolete by the IETF but is still in use.
Example for encryption with STARTTLS (RFC-3207):
# don't forget the instant_helo, otherwise it won't work
instant_helo=true
wrapper="/usr/bin/openssl s_client -quiet -starttls smtp -connect mail.gmx.net:25 2>/dev/null"
This is supported since masqmail-0.2.28. STARTTLS supersedes
SMTP over SSL.
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 CONFIGURATION
pipe = command
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
Only if `pipe' is used. A from line will be prepended to the
output stream whenever a pipe command is called. Default is
false.
pipe_fromhack = boolean
Only if `pipe' is used. 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.
ADDRESS REWRITE RULES
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.
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.
BUGS
Please report bugs to the mailing list.
SEE ALSO
masqmail(8), masqmail.conf(5)
masqmail-0.3.5 2015-02-07 masqmail.route(5)