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 = string
-
string 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.
- 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
-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.
- 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 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 now deprecated by the
IETF but 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 = 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.
BUGS¶
Please report bugs to the mailing list.
SEE ALSO¶
masqmail(8),
masqmail.conf(5),
masqmail.get(5)