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 information.

    recipient
        The envelope recipient address that is passed on to nexthop.

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 definition, all known addresses in a virtual alias domain are aliased to other addresses.

$virtual_mailbox_domains
    The transport and optional nexthop are specified with $virtual_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 information 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 information 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 program. 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:$myhostname.

    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 $virtual_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 transport 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 specified 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