TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8)
NAME
trivial-rewrite - Postfix address rewriting and resolving daemon
SYNOPSIS
trivial-rewrite [generic Postfix daemon options]
DESCRIPTION
The trivial-rewrite daemon processes two types of client service
requests:
rewrite
Rewrite an address to standard form. The trivial-rewrite daemon
by default appends local domain information to unqualified
addresses, swaps bang paths to domain form, and strips source
routing information. This process is under control of several
configuration parameters (see below).
resolve
Resolve an address to a (transport, nexthop, recipient) triple.
The meaning of the results is as follows:
transport
The delivery agent to use. This is the first field of an
entry in the master.cf file.
nexthop
The host to send to and optional delivery method informa-
tion.
recipient
The envelope recipient address that is passed on to nex-
thop.
DEFAULT DELIVERY METHODS
By default, Postfix uses one of the following delivery methods. This
may be overruled with the optional transport(5) table. The default
delivery method is selected by matching the recipient address domain
against one of the following:
$mydestination
$inet_interfaces
The transport and optional nexthop are specified with
$local_transport. The default nexthop is the recipient domain.
$virtual_alias_domains
The recipient address is undeliverable (user unknown). By defi-
nition, all known addresses in a virtual alias domain are
aliased to other addresses.
$virtual_mailbox_domains
The transport and optional nexthop are specified with $vir-
tual_transport. The default nexthop is the recipient domain.
$relay_domains
The transport and optional nexthop are specified with
$relay_transport. This overrides the optional nexthop informa-
tion that is specified with $relayhost. The default nexthop is
the recipient domain.
none of the above
The transport and optional nexthop are specified with
$default_transport. This overrides the optional nexthop infor-
mation that is specified with $relayhost. The default nexthop
is the recipient domain.
SERVER PROCESS MANAGEMENT
The trivial-rewrite servers run under control by the Postfix master
server. Each server can handle multiple simultaneous connections.
When all servers are busy while a client connects, the master creates a
new server process, provided that the trivial-rewrite server process
limit is not exceeded. Each trivial-rewrite server terminates after
serving at least $max_use clients of after $max_idle seconds of idle
time.
STANDARDS
None. The command does not interact with the outside world.
SECURITY
The trivial-rewrite daemon is not security sensitive. By default, this
daemon does not talk to remote or local users. It can run at a fixed
low privilege in a chrooted environment.
DIAGNOSTICS
Problems and transactions are logged to syslogd(8).
BUGS
CONFIGURATION PARAMETERS
The following main.cf parameters are especially relevant to this pro-
gram. See the Postfix main.cf file for syntax details and for default
values. Use the postfix reload command after a configuration change.
Miscellaneous
empty_address_recipient
The recipient that is substituted for the null address.
inet_interfaces
The network interfaces that this mail system receives mail on.
This information is used to determine if
user@[net.work.addr.ess] is local or remote. Mail for local
users is given to the $local_transport.
mydestination
List of domains that are given to the $local_transport.
virtual_alias_domains
List of simulated virtual domains (domains with all recipients
aliased to some other local or remote domain).
virtual_mailbox_domains
List of domains that are given to the $virtual_transport.
relay_domains
List of domains that are given to the $relay_transport.
resolve_unquoted_address
When resolving an address, do not quote the address localpart as
per RFC 822, so that additional @, % or ! characters remain
visible. This is technically incorrect, but allows us to stop
relay attacks when forwarding mail to a Sendmail primary MX
host.
relocated_maps
Tables with contact information for users, hosts or domains that
no longer exist. See relocated(5).
Rewriting
myorigin
The domain that locally-posted mail appears to come from.
allow_percent_hack
Rewrite user%domain to user@domain.
append_at_myorigin
Rewrite user to user@$myorigin.
append_dot_mydomain
Rewrite user@host to user@host.$mydomain.
swap_bangpath
Rewrite site!user to user@site.
Routing
local_transport
Where to deliver mail for destinations that match $mydestination
or $inet_interfaces. The default transport is local:$myhost-
name.
Syntax is transport:nexthop; see transport(5) for details. The
:nexthop part is optional.
virtual_transport
Where to deliver mail for non-local domains that match $vir-
tual_mailbox_domains. The default transport is virtual.
Syntax is transport:nexthop; see transport(5) for details. The
:nexthop part is optional.
relay_transport
Where to deliver mail for non-local domains that match
$relay_domains. The default transport is relay (which normally
is a clone of the smtp transport).
Syntax is transport:nexthop; see transport(5) for details. The
:nexthop part is optional.
default_transport
Where to deliver all other non-local mail. The default trans-
port is smtp.
Syntax is transport:nexthop; see transport(5) for details. The
:nexthop part is optional.
parent_domain_matches_subdomains
List of Postfix features that use domain.tld patterns to match
sub.domain.tld (as opposed to requiring .domain.tld patterns).
relayhost
The default host to send non-local mail to when no host is spec-
ified with $relay_transport or $default_transport, and when the
recipient address does not match the optional the transport(5)
table.
transport_maps
List of tables with recipient or domain to (transport, nexthop)
mappings.
SEE ALSO
master(8) process manager
syslogd(8) system logging
transport(5) transport table format
relocated(5) format of the "user has moved" table
LICENSE
The Secure Mailer license must be distributed with this software.
AUTHOR(S)
Wietse Venema
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA
TRIVIAL-REWRITE(8)