Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
TRANSPORT(5)		      File Formats Manual		  TRANSPORT(5)

NAME
       transport - Postfix transport table format

SYNOPSIS
       postmap /usr/local/etc/postfix/transport

       postmap -q "string" /usr/local/etc/postfix/transport

       postmap -q - /usr/local/etc/postfix/transport <inputfile

DESCRIPTION
       The  optional  transport(5)  table  specifies  a	mapping	from email ad-
       dresses to message delivery transports and next-hop destinations.  Mes-
       sage delivery transports	such as	local or smtp are defined in the  mas-
       ter.cf  file,  and  next-hop destinations are typically hosts or	domain
       names. The table	is searched by the trivial-rewrite(8) daemon.

       This mapping overrides the default transport:nexthop selection that  is
       built into Postfix:

       local_transport (default: local:$myhostname)
	      This  is	the  default for final delivery	to domains listed with
	      mydestination,  and  for	[ipaddress]  destinations  that	 match
	      $inet_interfaces or $proxy_interfaces.

	      In  order	 of  decreasing	precedence, the	nexthop	destination is
	      taken from transport_maps, local_transport, or from the  recipi-
	      ent domain.

       virtual_transport (default: virtual:)
	      This  is	the  default for final delivery	to domains listed with
	      virtual_mailbox_domains.

	      In order of decreasing precedence, the  nexthop  destination  is
	      taken from transport_maps, virtual_transport, or from the	recip-
	      ient domain.

       relay_transport (default: relay:)
	      This  is	the default for	remote delivery	to domains listed with
	      relay_domains.

	      In order of decreasing precedence, the  nexthop  destination  is
	      taken from transport_maps, relay_transport, sender_dependent_re-
	      layhost_maps, relayhost, or from the recipient domain.

       default_transport (default: smtp:)
	      This is the default for remote delivery to other destinations.

	      In  order	 of  decreasing	precedence, the	nexthop	destination is
	      taken   from   transport_maps,   sender_dependent_default_trans-
	      port_maps,  default_transport,  sender_dependent_relayhost_maps,
	      relayhost, or from the recipient domain.

       Normally, the transport(5) table	is  specified  as  a  text  file  that
       serves as input to the postmap(1) command to create an indexed file for
       fast lookup.

       Execute	the  command "postmap /usr/local/etc/postfix/transport"	to re-
       build a default-type indexed file after changing	the text file, or exe-
       cute "postmap type:$config_directory/transport" to specify an  explicit
       type.

       The  default  indexed  file  type  is configured	with the default_data-
       base_type parameter. Depending on the  platform	this  may  be  one  of
       lmdb:, cdb:, hash:, or dbm: (without the	trailing ':').

       When  the  table	 is provided via other means such as NIS, LDAP or SQL,
       the same	lookups	are done as for	ordinary indexed files.	 Managing such
       databases is outside the	scope of Postfix.

       Alternatively, the table	can be provided	as  a  regular-expression  map
       where  patterns are given as regular expressions, or lookups can	be di-
       rected to a TCP-based server. In	those case, the	lookups	are done in  a
       slightly	different way as described below under "REGULAR	EXPRESSION TA-
       BLES" or	"TCP-BASED TABLES".

CASE FOLDING
       The  search string is folded to lowercase before	database lookup. As of
       Postfix 2.3, the	search string is not case folded with  database	 types
       such  as	 regexp: or pcre: whose	lookup fields can match	both upper and
       lower case.

TABLE FORMAT
       The input format	for the	postmap(1) command is as follows:

       pattern result
	      When pattern matches the recipient address or  domain,  use  the
	      corresponding result.

       blank lines and comments
	      Empty  lines and whitespace-only lines are ignored, as are lines
	      whose first non-whitespace character is a	`#'.

       multi-line text
	      A	logical	line starts with  non-whitespace  text.	 A  line  that
	      starts with whitespace continues a logical line.

       The pattern specifies an	email address, a domain	name, or a domain name
       hierarchy, as described in section "TABLE SEARCH	ORDER".

       The  result is of the form transport:nexthop and	specifies how or where
       to deliver mail.	This is	described in section "RESULT FORMAT".

TABLE SEARCH ORDER
       With lookups from indexed files such as DB or DBM,  or  from  networked
       tables  such  as	 NIS,  LDAP or SQL, patterns are tried in the order as
       listed below:

       user+extension@domain transport:nexthop
	      Deliver mail for user+extension@domain through transport to nex-
	      thop.

       user@domain transport:nexthop
	      Deliver mail for user@domain through transport to	nexthop.

       domain transport:nexthop
	      Deliver mail for domain through transport	to nexthop.

       .domain transport:nexthop
	      Deliver mail for any subdomain of	domain	through	 transport  to
	      nexthop. This applies only when the string transport_maps	is not
	      listed  in  the  parent_domain_matches_subdomains	 configuration
	      setting.	Otherwise, a domain name matches itself	and its	subdo-
	      mains.

       * transport:nexthop
	      The special pattern * represents any address (i.e. it  functions
	      as the wild-card pattern,	and is unique to Postfix transport ta-
	      bles).

       Note  1:	 the null recipient address is looked up as $empty_address_re-
       cipient@$myhostname (default: mailer-daemon@hostname).

       Note 2: user@domain or user+extension@domain  lookup  is	 available  in
       Postfix 2.0 and later.

RESULT FORMAT
       The  lookup  result  is	of  the	form transport:nexthop.	 The transport
       field specifies a mail delivery transport such as smtp  or  local.  The
       nexthop field specifies where and how to	deliver	mail.

       The  transport  field  specifies	 the name of a mail delivery transport
       (the first name of a mail delivery service entry	in  the	 Postfix  mas-
       ter.cf file).

       The  nexthop  field usually specifies one recipient domain or hostname.
       In the case of the Postfix SMTP/LMTP client, the	nexthop	field may con-
       tain a list of nexthop destinations separated by	 comma	or  whitespace
       (Postfix	3.5 and	later).

       The syntax of a nexthop destination is transport	dependent.  With SMTP,
       specify a service on a non-default port as host:service,	and disable MX
       (mail exchanger)	DNS lookups with [host]	or [host]:port.	The [] form is
       required	when you specify an IP address instead of a hostname.

       A  null transport and null nexthop field	means "do not change": use the
       delivery	transport and nexthop information that would be	used when  the
       entire transport	table did not exist.

       A non-null transport field with a null nexthop field resets the nexthop
       information to the recipient domain.

       A  null transport field with non-null nexthop field does	not modify the
       transport information.

EXAMPLES
       In order	to deliver internal mail directly, while using	a  mail	 relay
       for  all	other mail, specify a null entry for internal destinations (do
       not change the delivery transport or the	nexthop	information) and spec-
       ify a wildcard for all other destinations.

	    my.domain	 :
	    .my.domain	 :
	    *		 smtp:outbound-relay.my.domain

       In order	to send	mail for example.com and its subdomains	via  the  uucp
       transport to the	UUCP host named	example:

	    example.com	     uucp:example
	    .example.com     uucp:example

       When  no	 nexthop  destination  is specified, Postfix uses (from	low to
       high precedence): the recipient domain, the nexthop specified with  re-
       layhost,	 with  sender_dependent_relayhost_maps	(for remote deliveries
       only), with the transport for the address domain	class (see DESCRIPTION
       above), or with sender_dependent_default_transport_maps (for remote de-
       liveries	only). For example, the	following directs mail for  user@exam-
       ple.com via the slow transport to a mail	exchanger for example.com. The
       slow  transport could be	configured to run at most one delivery process
       at a time:

	    example.com	     slow:

       When no transport is specified, Postfix uses the	transport that matches
       the address domain class	(see  DESCRIPTION  above),  or	the  transport
       specified  with sender_dependent_default_transport_maps (for remote de-
       liveries	only). The following sends all mail for	 example.com  and  its
       subdomains to host gateway.example.com:

	    example.com	     :[gateway.example.com]
	    .example.com     :[gateway.example.com]

       In  the	above example, the [] suppress MX lookups.  This prevents mail
       routing loops when your machine is primary MX host for example.com.

       In the case of delivery via SMTP	or LMTP, one may specify  host:service
       instead of just a host:

	    example.com	     smtp:bar.example:2025

       This  directs  mail for user@example.com	to host	bar.example port 2025.
       Instead of a numerical port a symbolic name may	be  used.  Specify  []
       around the hostname if MX lookups must be disabled.

       Deliveries  via	SMTP or	LMTP support multiple destinations (Postfix >=
       3.5):

	    example.com	     smtp:bar.example, foo.example

       This tries to deliver  to  bar.example  before  trying  to  deliver  to
       foo.example.

       The error mailer	can be used to bounce mail:

	    .example.com     error:mail	for *.example.com is not deliverable

       This causes all mail for	user@anything.example.com to be	bounced.

REGULAR	EXPRESSION TABLES
       This  section  describes	how the	table lookups change when the table is
       given in	the form of regular expressions. For a description of  regular
       expression lookup table syntax, see regexp_table(5) or pcre_table(5).

       Each  pattern is	a regular expression that is applied to	the entire ad-
       dress being looked up. Thus, some.domain.hierarchy is not looked	up via
       its parent domains, nor is user+foo@domain looked up as user@domain.

       Patterns	are applied in the order as specified in the  table,  until  a
       pattern is found	that matches the search	string.

       The trivial-rewrite(8) server disallows regular expression substitution
       of $1 etc. in regular expression	lookup tables, because that could open
       a security hole (Postfix	version	2.3 and	later).

TCP-BASED TABLES
       This  section  describes	 how the table lookups change when lookups are
       directed	 to  a	TCP-based  server.  For	 a  description	 of  the   TCP
       client/server  lookup  protocol,	see tcp_table(5).  This	feature	is not
       available up to and including Postfix version 2.4.

       Each lookup operation uses the entire recipient	address	 once.	 Thus,
       some.domain.hierarchy  is  not looked up	via its	parent domains,	nor is
       user+foo@domain looked up as user@domain.

       Results are the same as with indexed file lookups.

CONFIGURATION PARAMETERS
       The following main.cf parameters	are especially relevant.  The text be-
       low provides only a parameter summary. See postconf(5) for more details
       including examples.

       empty_address_recipient (MAILER-DAEMON)
	      The recipient of mail addressed to the null address.

       parent_domain_matches_subdomains	(see 'postconf -d' output)
	      A	list of	Postfix	features where the pattern "example.com"  also
	      matches  subdomains  of example.com, instead of requiring	an ex-
	      plicit ".example.com" pattern.

       transport_maps (empty)
	      Optional lookup tables with mappings from	recipient  address  to
	      (message delivery	transport, next-hop destination).

SEE ALSO
       trivial-rewrite(8), rewrite and resolve addresses
       master(5), master.cf file format
       postconf(5), configuration parameters
       postmap(1), Postfix lookup table	manager

README FILES
       Use  "postconf readme_directory"	or "postconf html_directory" to	locate
       this information.
       ADDRESS_REWRITING_README, address rewriting guide
       DATABASE_README,	Postfix	lookup table overview
       FILTER_README, external content filter

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

       Wietse Venema
       Google, Inc.
       111 8th Avenue
       New York, NY 10011, USA

								  TRANSPORT(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=transport&sektion=5&manpath=FreeBSD+15.1-RELEASE+and+Ports>

home | help