Relocated users table |
all mail | trivial- rewrite(8) |
@@ -774,6 +771,11 @@ may be a more appropriate vehicle. See the VIRTUAL_README document
for an overview of methods to host virtual domains with Postfix.
+ Note: virtual aliasing (virtual_alias_maps) applies to all
+recipients: local(8), virtual, and remote.
+This is unlike local aliasing (alias_maps) which applies only to
+local(8) recipients.
+
Virtual aliasing is disabled by default. To enable, edit the
virtual_alias_maps parameter in the main.cf file and
specify one or more lookup tables, separated by whitespace or
@@ -833,9 +835,8 @@ trivial-rewrite(8) server.
-- Resolve address to destination
-
-
- Mail transport switch
+
- Resolve address to (transport, next-hop
+destination)
- Relocated users table
@@ -873,67 +874,108 @@ via the local(8) delivery agent:
step in more detail, with specific examples or with pointers to
documentation with examples.
-
+
The Postfix qmgr(8) queue manager selects new mail from the
-incoming queue or old mail from the deferred queue, and asks the
-trivial-rewrite(8) address rewriting and resolving daemon where it
-should be delivered.
+incoming queue or old mail from the deferred queue. First it
+looks for overrides:
+
+
- As of version 2.0, Postfix distinguishes four major address
-classes. Each class has its own list of domain names, and each
-class has its own default delivery method, as shown in the table
-below. See the ADDRESS_CLASS_README document for the fine details.
-Postfix versions before 2.0 only distinguish between local delivery
-and everything else.
+-
The REDIRECT action in access(5), header_checks(5) or
+body_checks(5) overrides all recipients of the message, and overrides
+a content_filter setting, and FILTER action in access(5),
+header_checks(5) or body_checks(5). The REDIRECT action was implemented
+as a short-cut to retaliate for abuse.
+
+ -
A content_filter setting and FILTER action in access(5),
+header_checks(5) or body_checks(5) provide their own (transport,
+next-hop destination) information. This bypasses all the steps that
+are described in the remainder of this section.
+
+
+
+ When there is no content filter override, the qmgr(8) queue
+manager asks the trivial-rewrite(8) address rewriting and resolving
+daemon for each recipient how to deliver it (which message delivery
+transport) and where to deliver it (what next-hop destination).
+
+ As of version 2.0, Postfix distinguishes four major domain
+classes. Each class has its own list of recipient domain names, and
+each class has its own delivery method, as shown in the table below.
+See the ADDRESS_CLASS_README document for the fine details. Postfix
+versions before 2.0 only distinguish between local delivery and
+everything else.
+
+ Note that the table does not match recipients against
+virtual_alias_domains. The reason is that all valid recipients in
+a virtual alias domain must be aliased to an address in a different
+domain. All other recipients in a virtual alias domain are by
+definition undeliverable, and do not need to be considered here.
+
-Destination domain list | Default delivery method | Availability
- |
+ Domain class | Recipient
+domain match | Delivery method | Availability |
+
-$mydestination, $inet_interfaces, $proxy_interfaces |
-$local_transport | Postfix 1.0 |
+Local | mydestination, inet_interfaces, proxy_interfaces
+ | local_transport | Postfix 1.0 |
-$virtual_mailbox_domains | $virtual_transport |
-Postfix 2.0 |
+Virtual mailbox | virtual_mailbox_domains |
+virtual_transport | Postfix 2.0 |
-$relay_domains | $relay_transport | Postfix
-2.0 |
+Relay | relay_domains | relay_transport
+ | Postfix 2.0 |
-none | $default_transport | Postfix 1.0 |
-
+Default | none | default_transport |
+Postfix 1.0 |
-
+ The delivery methods in the above table may include a next-hop
+destination in addition to a delivery transport. This may override
+the next-hop destination that is by default taken from the recipient
+domain.
- Once the trivial-rewrite(8) daemon has determined a default
-delivery method it searches the optional transport(5) table for
-information that overrides the message destination and/or delivery
-method. Typical use of the transport(5) table is to send mail to
-a system
-that is not connected to the Internet, or to use a special SMTP
-client configuration for destinations that have special requirements.
-See, for example, the STANDARD_CONFIGURATION_README and UUCP_README
-documents, and the examples in the transport(5) manual page.
+ Over time, features have been added to override the above
+transport and/or next-hop destination information. The following
+table lists where a transport or next-hop destination may be taken
+from, depending on the recipient domain class.
- Transport table lookups are disabled by default. To enable,
-edit the transport_maps parameter in the main.cf file and specify
-one or more lookup tables, separated by whitespace or commas.
+
- Example:
+
+
+ Domain class | Transport sources (in order of
+descending precedence) | Next hop sources (in order of
+descending precedence) |
+
+ Local | transport_maps, local_transport |
+ transport_maps, local_transport, recipient domain |
+
+ Virtual mailbox | transport_maps,
+virtual_transport | transport_maps, virtual_transport,
+recipient domain |
+
+ Relay | transport_maps, relay_transport |
+ transport_maps, relay_transport, sender_dependent_relayhost_maps,
+relayhost, recipient domain |
+
+ Default | transport_maps,
+sender_dependent_default_transport_maps, default_transport |
+ transport_maps, sender_dependent_default_transport_maps,
+default_transport, sender_dependent_relayhost_maps, relayhost,
+recipient domain |
+
+
-
-
-/etc/postfix/main.cf:
- transport_maps = hash:/etc/postfix/transport
-
@@ -1019,6 +1061,11 @@ direct mail for standard aliases such as postmaster to real people.
The table can also be used to map "Firstname.Lastname" addresses
to login names.
+ Note: local aliasing (alias_maps) applies only to local(8)
+recipients. This is unlike virtual aliasing (virtual_alias_maps)
+which applies to all recipients: local(8), virtual, and remote.
+
+
Alias lookups are enabled by default. The default configuration
depends on the operating system environment, but it is typically
one of the following:
--
cgit v1.2.3
|