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 sev-
              eral configuration parameters (see below).

       resolve
              Resolve an address to a (transport, nexthop, recip-
              ient) triple. The meaning of the results is as fol-
              lows:

              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  trans-
       port(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  $relay-
              host.  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 Post-
       fix master server.  Each server can handle multiple simul-
       taneous 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_trans-
              port.

       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  $vir-
              tual_transport.

       relay_domains
              List of domains that are given to the $relay_trans-
              port.

       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  techni-
              cally  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 trans-
              port 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 trans-
              port).

              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 pat-
              terns  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 (trans-
              port, 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)