2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-08-22 09:57:34 +00:00

postfix-2.7-20100117

This commit is contained in:
Wietse Venema 2010-01-17 00:00:00 -05:00 committed by Viktor Dukhovni
parent f06480fb17
commit cee08cce6c
36 changed files with 628 additions and 585 deletions

View File

@ -15648,21 +15648,30 @@ Apologies for any names omitted.
Cleanup: don't supply the "-o stress" command-line option Cleanup: don't supply the "-o stress" command-line option
with a single-process service. File: master/master_ent.c. with a single-process service. File: master/master_ent.c.
20100116 20100115
Bugfix: the valid_hostname() fuction did not set the Bugfix: the valid_hostname() fuction did not set the
"non-numeric" flag after encountering the '-' character. "non-numeric" flag after encountering the '-' character.
Reported by Jan Schampera. File: util/valid_hostname.c. Reported by Jan Schampera. File: util/valid_hostname.c.
Cleanup: when a content_filter parameter or FILTER command 20100116
specifies an empty next-hop destination, the queue manager
now uses the recipient domain instead of $myhostname. Specify
"legacy_filter_nexthop = yes" for backwards compatibility
with Postfix 2.6 and earlier, or specify a non-empty next-hop
destination. Files: *qmgr/qmgr_message.c proto/access,
proto/header_checks, proto/postconf.proto, proto/FILTER_README.
Documentation: the content_filter and FILTER features never Documentation: the content_filter and FILTER features never
supported the special cases of transport_maps. References supported the special cases of transport_maps. References
to transport_maps syntax are now removed from content filter to transport_maps syntax are now removed from content filter
discussions. Files: proto/postconf.proto, proto/FILTER_README. discussions. Files: proto/postconf.proto, proto/FILTER_README.
Workaround: as of Postfix 2.3 the VRFY command did not allow
a mailbox address inside <>, which broke expectations. RFC
2821 (and 5321) is vague about the VRFY request format, but
spends lots of text on the reply format. File: smtpd/smtpd.c.
20010117
Cleanup: when a content_filter parameter or FILTER command
specifies an empty next-hop destination, the queue manager
now uses the recipient domain instead of $myhostname. Specify
"default_filter_nexthop = $myhostname" for compatibility
with Postfix 2.6 and earlier, or specify a non-empty next-hop
filter destination. Files: *qmgr/qmgr_message.c proto/access,
proto/header_checks, proto/postconf.proto, proto/FILTER_README.

View File

@ -221,17 +221,18 @@ Once you're satisfied with the content filtering script:
The content_filter configuration parameter expects a value of the form The content_filter configuration parameter expects a value of the form
transport:destination. The transport name specifies the first field of a transport:destination. The transport name specifies the first field of a
mail delivery agent definition in master.cf; the syntax of destination is mail delivery agent definition in master.cf; the syntax of the next-hop
described in the manual page of the corresponding delivery agent. destination is described in the manual page of the corresponding delivery
agent.
The meaning of an empty filter destination is version dependent. Postfix The meaning of an empty next-hop filter destination is version dependent.
2.7 and later will use the recipient domain; earlier versions will use Postfix 2.7 and later will use the recipient domain; earlier versions will
$myhostname. Specify "legacy_filter_nexthop = yes" for compatibility with use $myhostname. Specify "default_filter_nexthop = $myhostname" for
Postfix 2.6 or earlier, or specify a non-empty filter destination. compatibility with Postfix 2.6 or earlier, or specify a non-empty next-hop
filter destination.
The content_filter setting has a lower precedence than a content filter The content_filter setting has lower precedence than a FILTER action that
that is specified with an access(5) table or in a header_checks(5) or is specified in an access(5), header_checks(5) or body_checks(5) table.
body_checks(5) table.
* Execute "ppoossttffiixx rreellooaadd" to complete the change. * Execute "ppoossttffiixx rreellooaadd" to complete the change.
@ -340,17 +341,18 @@ To enable the advanced content filter method for all mail, specify in main.cf:
* The content_filter configuration parameter expects a value of the form * The content_filter configuration parameter expects a value of the form
transport:destination. The transport name specifies the first field of a transport:destination. The transport name specifies the first field of a
mail delivery agent definition in master.cf; the syntax of destination is mail delivery agent definition in master.cf; the syntax of the next-hop
described in the manual page of the corresponding delivery agent. destination is described in the manual page of the corresponding delivery
agent.
* The meaning of an empty filter destination is version dependent. Postfix * The meaning of an empty next-hop filter destination is version dependent.
2.7 and later will use the recipient domain; earlier versions will use Postfix 2.7 and later will use the recipient domain; earlier versions will
$myhostname. Specify "legacy_filter_nexthop = yes" for compatibility with use $myhostname. Specify "default_filter_nexthop = $myhostname" for
Postfix 2.6 or earlier, or specify a non-empty filter destination. compatibility with Postfix 2.6 or earlier, or specify a non-empty next-hop
filter destination.
* The content_filter setting has a lower precedence than a content filter * The content_filter setting has lower precedence than a FILTER action that
that is specified with an access(5) table or in a header_checks(5) or is specified in an access(5), header_checks(5) or body_checks(5) table.
body_checks(5) table.
AAddvvaanncceedd ccoonntteenntt ffiilltteerr:: sseennddiinngg uunnffiilltteerreedd mmaaiill ttoo tthhee ccoonntteenntt ffiilltteerr AAddvvaanncceedd ccoonntteenntt ffiilltteerr:: sseennddiinngg uunnffiilltteerreedd mmaaiill ttoo tthhee ccoonntteenntt ffiilltteerr

View File

@ -14,23 +14,27 @@ specifies the release date of a stable release or snapshot release.
If you upgrade from Postfix 2.5 or earlier, read RELEASE_NOTES-2.6 If you upgrade from Postfix 2.5 or earlier, read RELEASE_NOTES-2.6
before proceeding. before proceeding.
Incompatibility with snapshot 20100116 Incompatibility with snapshot 20100117
====================================== ======================================
The meaning of an empty content filter next-hop destination has The meaning of an empty content filter next-hop destination has
changed. Postfix now uses the recipient domain, instead of using changed. Postfix now uses the recipient domain, instead of using
$myhostname as in Postfix 2.6 and earlier. To get the old behavior $myhostname as in Postfix 2.6 and earlier. To get the old behavior
use "legacy_filter_nexthop = yes", or specify a non-empty next-hop use "default_filter_nexthop = $myhostname", or specify a non-empty
filter destination. next-hop content filter destination.
Major changes with snapshot 20100116 Major changes with snapshot 20100117
==================================== ====================================
The FILTER command can now be used to implement sender reputation The FILTER action in access maps or header/body_checks now supports
schemes that dynamically choose the SMTP source IP address. This sender reputation schemes that dynamically choose the SMTP source
is implemented by specifying a FILTER with an empty next-hop IP address.
destination, and by configuring SMTP transports in master.cf with
appropriate "-o myhostname" and "-o smtp_bind_address" settings. This is implemented by specifying FILTER actions with empty next-hop
destinations in access maps or header/body_checks, and by configuring
in master.cf one Postfix SMTP client for each SMTP source IP address,
where each client has its own "-o myhostname" and "-o smtp_bind_address"
settings.
Incompatibility with snapshot 20100101 Incompatibility with snapshot 20100101
====================================== ======================================

View File

@ -282,10 +282,10 @@
# sage through the specified external content filter. # sage through the specified external content filter.
# The transport name specifies the first field of a # The transport name specifies the first field of a
# mail delivery agent definition in master.cf; the # mail delivery agent definition in master.cf; the
# syntax of destination is described in the manual # syntax of the next-hop destination is described in
# page of the corresponding delivery agent. More # the manual page of the corresponding delivery
# information about external content filters is in # agent. More information about external content
# the Postfix FILTER_README file. # filters is in the Postfix FILTER_README file.
# #
# Note 1: do not use $number regular expression sub- # Note 1: do not use $number regular expression sub-
# stitutions for transport or destination unless you # stitutions for transport or destination unless you
@ -298,135 +298,136 @@
# #
# Note 3: the purpose of the FILTER command is to # Note 3: the purpose of the FILTER command is to
# override message routing. To override the recipi- # override message routing. To override the recipi-
# ent's transport but not destination, specify an # ent's transport but not the next-hop destination,
# empty destination (Postfix 2.7 and later), or spec- # specify an empty filter destination (Postfix 2.7
# ify a transport:destination that delivers through a # and later), or specify a transport:destination that
# different Postfix instance (Postfix 2.6 and ear- # delivers through a different Postfix instance
# lier). Other options are using the recipient-depen- # (Postfix 2.6 and earlier). Other options are using
# dent transport_maps or the sender-dependent sender- # the recipient-dependent transport_maps or the sen-
# _dependent_default_transport_maps features. # der-dependent sender_dependent_default_transport-
# _maps features.
# #
# This feature is available in Postfix 2.0 and later. # This feature is available in Postfix 2.0 and later.
# #
# HOLD optional text... # HOLD optional text...
# Place the message on the hold queue, where it will # Place the message on the hold queue, where it will
# sit until someone either deletes it or releases it # sit until someone either deletes it or releases it
# for delivery. Log the optional text if specified, # for delivery. Log the optional text if specified,
# otherwise log a generic message. # otherwise log a generic message.
# #
# Mail that is placed on hold can be examined with # Mail that is placed on hold can be examined with
# the postcat(1) command, and can be destroyed or # the postcat(1) command, and can be destroyed or
# released with the postsuper(1) command. # released with the postsuper(1) command.
# #
# Note: use "postsuper -r" to release mail that was # Note: use "postsuper -r" to release mail that was
# kept on hold for a significant fraction of $maxi- # kept on hold for a significant fraction of $maxi-
# mal_queue_lifetime or $bounce_queue_lifetime, or # mal_queue_lifetime or $bounce_queue_lifetime, or
# longer. Use "postsuper -H" only for mail that will # longer. Use "postsuper -H" only for mail that will
# not expire within a few delivery attempts. # not expire within a few delivery attempts.
# #
# Note: this action currently affects all recipients # Note: this action currently affects all recipients
# of the message. # of the message.
# #
# This feature is available in Postfix 2.0 and later. # This feature is available in Postfix 2.0 and later.
# #
# PREPEND headername: headervalue # PREPEND headername: headervalue
# Prepend the specified message header to the mes- # Prepend the specified message header to the mes-
# sage. When more than one PREPEND action executes, # sage. When more than one PREPEND action executes,
# the first prepended header appears before the sec- # the first prepended header appears before the sec-
# ond etc. prepended header. # ond etc. prepended header.
# #
# Note: this action must execute before the message # Note: this action must execute before the message
# content is received; it cannot execute in the con- # content is received; it cannot execute in the con-
# text of smtpd_end_of_data_restrictions. # text of smtpd_end_of_data_restrictions.
# #
# This feature is available in Postfix 2.1 and later. # This feature is available in Postfix 2.1 and later.
# #
# REDIRECT user@domain # REDIRECT user@domain
# After the message is queued, send the message to # After the message is queued, send the message to
# the specified address instead of the intended # the specified address instead of the intended
# recipient(s). # recipient(s).
# #
# Note: this action overrides the FILTER action, and # Note: this action overrides the FILTER action, and
# currently affects all recipients of the message. # currently affects all recipients of the message.
# #
# This feature is available in Postfix 2.1 and later. # This feature is available in Postfix 2.1 and later.
# #
# WARN optional text... # WARN optional text...
# Log a warning with the optional text, together with # Log a warning with the optional text, together with
# client information and if available, with helo, # client information and if available, with helo,
# sender, recipient and protocol information. # sender, recipient and protocol information.
# #
# This feature is available in Postfix 2.1 and later. # This feature is available in Postfix 2.1 and later.
# #
# ENHANCED STATUS CODES # ENHANCED STATUS CODES
# Postfix version 2.3 and later support enhanced status # Postfix version 2.3 and later support enhanced status
# codes as defined in RFC 3463. When an enhanced status # codes as defined in RFC 3463. When an enhanced status
# code is specified in an access table, it is subject to # code is specified in an access table, it is subject to
# modification. The following transformations are needed # modification. The following transformations are needed
# when the same access table is used for client, helo, # when the same access table is used for client, helo,
# sender, or recipient access restrictions; they happen # sender, or recipient access restrictions; they happen
# regardless of whether Postfix replies to a MAIL FROM, RCPT # regardless of whether Postfix replies to a MAIL FROM, RCPT
# TO or other SMTP command. # TO or other SMTP command.
# #
# o When a sender address matches a REJECT action, the # o When a sender address matches a REJECT action, the
# Postfix SMTP server will transform a recipient DSN # Postfix SMTP server will transform a recipient DSN
# status (e.g., 4.1.1-4.1.6) into the corresponding # status (e.g., 4.1.1-4.1.6) into the corresponding
# sender DSN status, and vice versa. # sender DSN status, and vice versa.
# #
# o When non-address information matches a REJECT # o When non-address information matches a REJECT
# action (such as the HELO command argument or the # action (such as the HELO command argument or the
# client hostname/address), the Postfix SMTP server # client hostname/address), the Postfix SMTP server
# will transform a sender or recipient DSN status # will transform a sender or recipient DSN status
# into a generic non-address DSN status (e.g., # into a generic non-address DSN status (e.g.,
# 4.0.0). # 4.0.0).
# #
# REGULAR EXPRESSION TABLES # REGULAR EXPRESSION TABLES
# This section describes how the table lookups change when # This section describes how the table lookups change when
# the table is given in the form of regular expressions. For # the table is given in the form of regular expressions. For
# a description of regular expression lookup table syntax, # a description of regular expression lookup table syntax,
# see regexp_table(5) or pcre_table(5). # see regexp_table(5) or pcre_table(5).
# #
# Each pattern is a regular expression that is applied to # Each pattern is a regular expression that is applied to
# the entire string being looked up. Depending on the appli- # the entire string being looked up. Depending on the appli-
# cation, that string is an entire client hostname, an # cation, that string is an entire client hostname, an
# entire client IP address, or an entire mail address. Thus, # entire client IP address, or an entire mail address. Thus,
# no parent domain or parent network search is done, # no parent domain or parent network search is done,
# user@domain mail addresses are not broken up into their # user@domain mail addresses are not broken up into their
# user@ and domain constituent parts, nor is user+foo broken # user@ and domain constituent parts, nor is user+foo broken
# up into user and foo. # up into user and foo.
# #
# Patterns are applied in the order as specified in the ta- # Patterns are applied in the order as specified in the ta-
# ble, until a pattern is found that matches the search # ble, until a pattern is found that matches the search
# string. # string.
# #
# Actions are the same as with indexed file lookups, with # Actions are the same as with indexed file lookups, with
# the additional feature that parenthesized substrings from # the additional feature that parenthesized substrings from
# the pattern can be interpolated as $1, $2 and so on. # the pattern can be interpolated as $1, $2 and so on.
# #
# TCP-BASED TABLES # TCP-BASED TABLES
# This section describes how the table lookups change when # This section describes how the table lookups change when
# lookups are directed to a TCP-based server. For a descrip- # lookups are directed to a TCP-based server. For a descrip-
# tion of the TCP client/server lookup protocol, see tcp_ta- # tion of the TCP client/server lookup protocol, see tcp_ta-
# ble(5). This feature is not available up to and including # ble(5). This feature is not available up to and including
# Postfix version 2.4. # Postfix version 2.4.
# #
# Each lookup operation uses the entire query string once. # Each lookup operation uses the entire query string once.
# Depending on the application, that string is an entire # Depending on the application, that string is an entire
# client hostname, an entire client IP address, or an entire # client hostname, an entire client IP address, or an entire
# mail address. Thus, no parent domain or parent network # mail address. Thus, no parent domain or parent network
# search is done, user@domain mail addresses are not broken # search is done, user@domain mail addresses are not broken
# up into their user@ and domain constituent parts, nor is # up into their user@ and domain constituent parts, nor is
# user+foo broken up into user and foo. # user+foo broken up into user and foo.
# #
# Actions are the same as with indexed file lookups. # Actions are the same as with indexed file lookups.
# #
# EXAMPLE # EXAMPLE
# The following example uses an indexed file, so that the # The following example uses an indexed file, so that the
# order of table entries does not matter. The example per- # order of table entries does not matter. The example per-
# mits access by the client at address 1.2.3.4 but rejects # mits access by the client at address 1.2.3.4 but rejects
# all other clients in 1.2.3.0/24. Instead of hash lookup # all other clients in 1.2.3.0/24. Instead of hash lookup
# tables, some systems use dbm. Use the command "postconf # tables, some systems use dbm. Use the command "postconf
# -m" to find out what lookup tables Postfix supports on # -m" to find out what lookup tables Postfix supports on
# your system. # your system.
# #
# /etc/postfix/main.cf: # /etc/postfix/main.cf:
@ -437,11 +438,11 @@
# 1.2.3 REJECT # 1.2.3 REJECT
# 1.2.3.4 OK # 1.2.3.4 OK
# #
# Execute the command "postmap /etc/postfix/access" after # Execute the command "postmap /etc/postfix/access" after
# editing the file. # editing the file.
# #
# BUGS # BUGS
# The table format does not understand quoting conventions. # The table format does not understand quoting conventions.
# #
# SEE ALSO # SEE ALSO
# postmap(1), Postfix lookup table manager # postmap(1), Postfix lookup table manager
@ -450,13 +451,13 @@
# transport(5), transport:nexthop syntax # transport(5), transport:nexthop syntax
# #
# README FILES # README FILES
# Use "postconf readme_directory" or "postconf html_direc- # Use "postconf readme_directory" or "postconf html_direc-
# tory" to locate this information. # tory" to locate this information.
# SMTPD_ACCESS_README, built-in SMTP server access control # SMTPD_ACCESS_README, built-in SMTP server access control
# DATABASE_README, Postfix lookup table overview # DATABASE_README, Postfix lookup table overview
# #
# LICENSE # LICENSE
# The Secure Mailer license must be distributed with this # The Secure Mailer license must be distributed with this
# software. # software.
# #
# AUTHOR(S) # AUTHOR(S)

View File

@ -170,11 +170,11 @@
# After the message is queued, send the entire mes- # After the message is queued, send the entire mes-
# sage through the specified external content filter. # sage through the specified external content filter.
# The transport name specifies the first field of a # The transport name specifies the first field of a
# mail delivery agent definition master.cf; the syn- # mail delivery agent definition in master.cf; the
# tax of destination is described in the manual page # syntax of the next-hop destination is described in
# of the corresponding delivery agent. More informa- # the manual page of the corresponding delivery
# tion about external content filters is in the Post- # agent. More information about external content
# fix FILTER_README file. # filters is in the Postfix FILTER_README file.
# #
# Note 1: do not use $number regular expression sub- # Note 1: do not use $number regular expression sub-
# stitutions for transport or destination unless you # stitutions for transport or destination unless you
@ -187,34 +187,35 @@
# #
# Note 3: the purpose of the FILTER command is to # Note 3: the purpose of the FILTER command is to
# override message routing. To override the recipi- # override message routing. To override the recipi-
# ent's transport but not destination, specify an # ent's transport but not the next-hop destination,
# empty destination (Postfix 2.7 and later), or spec- # specify an empty filter destination (Postfix 2.7
# ify a transport:destination that delivers through a # and later), or specify a transport:destination that
# different Postfix instance (Postfix 2.6 and ear- # delivers through a different Postfix instance
# lier). Other options are using the recipient-depen- # (Postfix 2.6 and earlier). Other options are using
# dent transport_maps or the sender-dependent sender- # the recipient-dependent transport_maps or the sen-
# _dependent_default_transport_maps features. # der-dependent sender_dependent_default_transport-
# _maps features.
# #
# This feature is available in Postfix 2.0 and later. # This feature is available in Postfix 2.0 and later.
# #
# HOLD optional text... # HOLD optional text...
# Arrange for the message to be placed on the hold # Arrange for the message to be placed on the hold
# queue, and inspect the next input line. The mes- # queue, and inspect the next input line. The mes-
# sage remains on hold until someone either deletes # sage remains on hold until someone either deletes
# it or releases it for delivery. Log the optional # it or releases it for delivery. Log the optional
# text if specified, otherwise log a generic message. # text if specified, otherwise log a generic message.
# #
# Mail that is placed on hold can be examined with # Mail that is placed on hold can be examined with
# the postcat(1) command, and can be destroyed or # the postcat(1) command, and can be destroyed or
# released with the postsuper(1) command. # released with the postsuper(1) command.
# #
# Note: use "postsuper -r" to release mail that was # Note: use "postsuper -r" to release mail that was
# kept on hold for a significant fraction of $maxi- # kept on hold for a significant fraction of $maxi-
# mal_queue_lifetime or $bounce_queue_lifetime, or # mal_queue_lifetime or $bounce_queue_lifetime, or
# longer. Use "postsuper -H" only for mail that will # longer. Use "postsuper -H" only for mail that will
# not expire within a few delivery attempts. # not expire within a few delivery attempts.
# #
# Note: this action affects all recipients of the # Note: this action affects all recipients of the
# message. # message.
# #
# This feature is available in Postfix 2.0 and later. # This feature is available in Postfix 2.0 and later.
@ -223,23 +224,23 @@
# the next input line. # the next input line.
# #
# PREPEND text... # PREPEND text...
# Prepend one line with the specified text, and # Prepend one line with the specified text, and
# inspect the next input line. # inspect the next input line.
# #
# Notes: # Notes:
# #
# o The prepended text is output on a separate # o The prepended text is output on a separate
# line, immediately before the input that # line, immediately before the input that
# triggered the PREPEND action. # triggered the PREPEND action.
# #
# o The prepended text is not considered part of # o The prepended text is not considered part of
# the input stream: it is not subject to # the input stream: it is not subject to
# header/body checks or address rewriting, and # header/body checks or address rewriting, and
# it does not affect the way that Postfix adds # it does not affect the way that Postfix adds
# missing message headers. # missing message headers.
# #
# o When prepending text before a message header # o When prepending text before a message header
# line, the prepended text must begin with a # line, the prepended text must begin with a
# valid message header label. # valid message header label.
# #
# o This action cannot be used to prepend multi- # o This action cannot be used to prepend multi-
@ -248,46 +249,46 @@
# This feature is available in Postfix 2.1 and later. # This feature is available in Postfix 2.1 and later.
# #
# REDIRECT user@domain # REDIRECT user@domain
# Write a message redirection request to the queue # Write a message redirection request to the queue
# file, and inspect the next input line. After the # file, and inspect the next input line. After the
# message is queued, it will be sent to the specified # message is queued, it will be sent to the specified
# address instead of the intended recipient(s). # address instead of the intended recipient(s).
# #
# Note: this action overrides the FILTER action, and # Note: this action overrides the FILTER action, and
# affects all recipients of the message. If multiple # affects all recipients of the message. If multiple
# REDIRECT actions fire, only the last one is exe- # REDIRECT actions fire, only the last one is exe-
# cuted. # cuted.
# #
# This feature is available in Postfix 2.1 and later. # This feature is available in Postfix 2.1 and later.
# #
# REPLACE text... # REPLACE text...
# Replace the current line with the specified text, # Replace the current line with the specified text,
# and inspect the next input line. # and inspect the next input line.
# #
# This feature is available in Postfix 2.2 and later. # This feature is available in Postfix 2.2 and later.
# The description below applies to Postfix 2.2.2 and # The description below applies to Postfix 2.2.2 and
# later. # later.
# #
# Notes: # Notes:
# #
# o When replacing a message header line, the # o When replacing a message header line, the
# replacement text must begin with a valid # replacement text must begin with a valid
# header label. # header label.
# #
# o The replaced text remains part of the input # o The replaced text remains part of the input
# stream. Unlike the result from the PREPEND # stream. Unlike the result from the PREPEND
# action, a replaced message header may be # action, a replaced message header may be
# subject to address rewriting and may affect # subject to address rewriting and may affect
# the way that Postfix adds missing message # the way that Postfix adds missing message
# headers. # headers.
# #
# REJECT optional text... # REJECT optional text...
# Reject the entire message. Reply with optional # Reject the entire message. Reply with optional
# text... when the optional text is specified, other- # text... when the optional text is specified, other-
# wise reply with a generic error message. # wise reply with a generic error message.
# #
# Note: this action disables further header or # Note: this action disables further header or
# body_checks inspection of the current message and # body_checks inspection of the current message and
# affects all recipients. # affects all recipients.
# #
# Postfix version 2.3 and later support enhanced sta- # Postfix version 2.3 and later support enhanced sta-
@ -296,37 +297,37 @@
# enhanced status code of "5.7.1". # enhanced status code of "5.7.1".
# #
# WARN optional text... # WARN optional text...
# Log a warning with the optional text... (or log a # Log a warning with the optional text... (or log a
# generic message), and inspect the next input line. # generic message), and inspect the next input line.
# This action is useful for debugging and for testing # This action is useful for debugging and for testing
# a pattern before applying more drastic actions. # a pattern before applying more drastic actions.
# #
# BUGS # BUGS
# Empty lines never match, because some map types mis-behave # Empty lines never match, because some map types mis-behave
# when given a zero-length search string. This limitation # when given a zero-length search string. This limitation
# may be removed for regular expression tables in a future # may be removed for regular expression tables in a future
# release. # release.
# #
# Many people overlook the main limitations of header and # Many people overlook the main limitations of header and
# body_checks rules. # body_checks rules.
# #
# o These rules operate on one logical message header # o These rules operate on one logical message header
# or one body line at a time. A decision made for one # or one body line at a time. A decision made for one
# line is not carried over to the next line. # line is not carried over to the next line.
# #
# o If text in the message body is encoded (RFC 2045) # o If text in the message body is encoded (RFC 2045)
# then the rules need to be specified for the encoded # then the rules need to be specified for the encoded
# form. # form.
# #
# o Likewise, when message headers are encoded (RFC # o Likewise, when message headers are encoded (RFC
# 2047) then the rules need to be specified for the # 2047) then the rules need to be specified for the
# encoded form. # encoded form.
# #
# Message headers added by the cleanup(8) daemon itself are # Message headers added by the cleanup(8) daemon itself are
# excluded from inspection. Examples of such message headers # excluded from inspection. Examples of such message headers
# are From:, To:, Message-ID:, Date:. # are From:, To:, Message-ID:, Date:.
# #
# Message headers deleted by the cleanup(8) daemon will be # Message headers deleted by the cleanup(8) daemon will be
# examined before they are deleted. Examples are: Bcc:, Con- # examined before they are deleted. Examples are: Bcc:, Con-
# tent-Length:, Return-Path:. # tent-Length:, Return-Path:.
# #
@ -334,11 +335,11 @@
# body_checks # body_checks
# Lookup tables with content filter rules for message # Lookup tables with content filter rules for message
# body lines. These filters see one physical line at # body lines. These filters see one physical line at
# a time, in chunks of at most $line_length_limit # a time, in chunks of at most $line_length_limit
# bytes. # bytes.
# #
# body_checks_size_limit # body_checks_size_limit
# The amount of content per message body segment # The amount of content per message body segment
# (attachment) that is subjected to $body_checks fil- # (attachment) that is subjected to $body_checks fil-
# tering. # tering.
# #
@ -348,35 +349,35 @@
# #
# nested_header_checks (default: $header_checks) # nested_header_checks (default: $header_checks)
# Lookup tables with content filter rules for message # Lookup tables with content filter rules for message
# header lines: respectively, these are applied to # header lines: respectively, these are applied to
# the initial message headers (not including MIME # the initial message headers (not including MIME
# headers), to the MIME headers anywhere in the mes- # headers), to the MIME headers anywhere in the mes-
# sage, and to the initial headers of attached mes- # sage, and to the initial headers of attached mes-
# sages. # sages.
# #
# Note: these filters see one logical message header # Note: these filters see one logical message header
# at a time, even when a message header spans multi- # at a time, even when a message header spans multi-
# ple lines. Message headers that are longer than # ple lines. Message headers that are longer than
# $header_size_limit characters are truncated. # $header_size_limit characters are truncated.
# #
# disable_mime_input_processing # disable_mime_input_processing
# While receiving mail, give no special treatment to # While receiving mail, give no special treatment to
# MIME related message headers; all text after the # MIME related message headers; all text after the
# initial message headers is considered to be part of # initial message headers is considered to be part of
# the message body. This means that header_checks is # the message body. This means that header_checks is
# applied to all the initial message headers, and # applied to all the initial message headers, and
# that body_checks is applied to the remainder of the # that body_checks is applied to the remainder of the
# message. # message.
# #
# Note: when used in this manner, body_checks will # Note: when used in this manner, body_checks will
# process a multi-line message header one line at a # process a multi-line message header one line at a
# time. # time.
# #
# EXAMPLES # EXAMPLES
# Header pattern to block attachments with bad file name # Header pattern to block attachments with bad file name
# extensions. For convenience, the PCRE /x flag is speci- # extensions. For convenience, the PCRE /x flag is speci-
# fied, so that there is no need to collapse the pattern # fied, so that there is no need to collapse the pattern
# into a single line of text. The purpose of the # into a single line of text. The purpose of the
# [[:xdigit:]] sub-expressions is to recognize Windows CLSID # [[:xdigit:]] sub-expressions is to recognize Windows CLSID
# strings. # strings.
# #
@ -415,7 +416,7 @@
# RFC 2047, message header encoding for non-ASCII text # RFC 2047, message header encoding for non-ASCII text
# #
# README FILES # README FILES
# Use "postconf readme_directory" or "postconf html_direc- # Use "postconf readme_directory" or "postconf html_direc-
# tory" to locate this information. # tory" to locate this information.
# DATABASE_README, Postfix lookup table overview # DATABASE_README, Postfix lookup table overview
# CONTENT_INSPECTION_README, Postfix content inspection overview # CONTENT_INSPECTION_README, Postfix content inspection overview
@ -423,7 +424,7 @@
# BACKSCATTER_README, blocking returned forged mail # BACKSCATTER_README, blocking returned forged mail
# #
# LICENSE # LICENSE
# The Secure Mailer license must be distributed with this # The Secure Mailer license must be distributed with this
# software. # software.
# #
# AUTHOR(S) # AUTHOR(S)

View File

@ -399,18 +399,19 @@ and causes mail to be given to the content filter instead. </p>
<p> The <a href="postconf.5.html#content_filter">content_filter</a> configuration parameter expects a value of <p> The <a href="postconf.5.html#content_filter">content_filter</a> configuration parameter expects a value of
the form <i>transport:destination</i>. The <i>transport</i> name the form <i>transport:destination</i>. The <i>transport</i> name
specifies the first field of a mail delivery agent definition in specifies the first field of a mail delivery agent definition in
<a href="master.5.html">master.cf</a>; the syntax of <i>destination</i> is described in the <a href="master.5.html">master.cf</a>; the syntax of the next-hop <i>destination</i> is described
manual page of the corresponding delivery agent. </p> in the manual page of the corresponding delivery agent. </p>
<p> The meaning of an empty filter <i>destination</i> is version <p> The meaning of an empty next-hop filter <i>destination</i> is
dependent. Postfix 2.7 and later will use the recipient domain; version dependent. Postfix 2.7 and later will use the recipient
earlier versions will use $<a href="postconf.5.html#myhostname">myhostname</a>. Specify "<a href="postconf.5.html#legacy_filter_nexthop">legacy_filter_nexthop</a> domain; earlier versions will use $<a href="postconf.5.html#myhostname">myhostname</a>. Specify
= yes" for compatibility with Postfix 2.6 or earlier, or specify a "<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> = $<a href="postconf.5.html#myhostname">myhostname</a>" for compatibility with Postfix
non-empty filter destination. </p> 2.6 or earlier, or specify a non-empty next-hop filter <i>destination</i>.
</p>
<p> The <a href="postconf.5.html#content_filter">content_filter</a> setting has a lower precedence than a content <p> The <a href="postconf.5.html#content_filter">content_filter</a> setting has lower precedence than a FILTER
filter that is specified with an <a href="access.5.html">access(5)</a> table or in a <a href="header_checks.5.html">header_checks(5)</a> action that is specified in an <a href="access.5.html">access(5)</a>, <a href="header_checks.5.html">header_checks(5)</a> or
or <a href="header_checks.5.html">body_checks(5)</a> table. </p> <a href="header_checks.5.html">body_checks(5)</a> table. </p>
<li> <p> Execute "<b>postfix reload</b>" to complete the change. <li> <p> Execute "<b>postfix reload</b>" to complete the change.
</p> </p>
@ -625,18 +626,18 @@ of its final destination. </p>
<li> <p> The <a href="postconf.5.html#content_filter">content_filter</a> configuration parameter expects a value <li> <p> The <a href="postconf.5.html#content_filter">content_filter</a> configuration parameter expects a value
of the form <i>transport:destination</i>. The <i>transport</i> name of the form <i>transport:destination</i>. The <i>transport</i> name
specifies the first field of a mail delivery agent definition in specifies the first field of a mail delivery agent definition in
<a href="master.5.html">master.cf</a>; the syntax of <i>destination</i> is described in the <a href="master.5.html">master.cf</a>; the syntax of the next-hop <i>destination</i> is described
manual page of the corresponding delivery agent. </p> in the manual page of the corresponding delivery agent. </p>
<li> <p> The meaning of an empty filter <i>destination</i> is version <li> <p> The meaning of an empty next-hop filter <i>destination</i>
dependent. Postfix 2.7 and later will use the recipient domain; is version dependent. Postfix 2.7 and later will use the recipient
earlier versions will use $<a href="postconf.5.html#myhostname">myhostname</a>. Specify "<a href="postconf.5.html#legacy_filter_nexthop">legacy_filter_nexthop</a> domain; earlier versions will use $<a href="postconf.5.html#myhostname">myhostname</a>. Specify
= yes" for compatibility with Postfix 2.6 or earlier, or specify a "<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> = $<a href="postconf.5.html#myhostname">myhostname</a>" for compatibility with Postfix
non-empty filter destination. </p> 2.6 or earlier, or specify a non-empty next-hop filter <i>destination</i>.
<li> <p> The <a href="postconf.5.html#content_filter">content_filter</a> setting has a lower precedence than a <li> <p> The <a href="postconf.5.html#content_filter">content_filter</a> setting has lower precedence than a
content filter that is specified with an <a href="access.5.html">access(5)</a> table or in a FILTER action that is specified in an <a href="access.5.html">access(5)</a>, <a href="header_checks.5.html">header_checks(5)</a>
<a href="header_checks.5.html">header_checks(5)</a> or <a href="header_checks.5.html">body_checks(5)</a> table. </p> or <a href="header_checks.5.html">body_checks(5)</a> table. </p>
</ul> </ul>

View File

@ -288,10 +288,10 @@ ACCESS(5) ACCESS(5)
sage through the specified external content filter. sage through the specified external content filter.
The <i>transport</i> name specifies the first field of a The <i>transport</i> name specifies the first field of a
mail delivery agent definition in <a href="master.5.html">master.cf</a>; the mail delivery agent definition in <a href="master.5.html">master.cf</a>; the
syntax of <i>destination</i> is described in the manual syntax of the next-hop <i>destination</i> is described in
page of the corresponding delivery agent. More the manual page of the corresponding delivery
information about external content filters is in agent. More information about external content
the Postfix <a href="FILTER_README.html">FILTER_README</a> file. filters is in the Postfix <a href="FILTER_README.html">FILTER_README</a> file.
Note 1: do not use $<i>number</i> regular expression sub- Note 1: do not use $<i>number</i> regular expression sub-
stitutions for <i>transport</i> or <i>destination</i> unless you stitutions for <i>transport</i> or <i>destination</i> unless you
@ -304,135 +304,136 @@ ACCESS(5) ACCESS(5)
Note 3: the purpose of the FILTER command is to Note 3: the purpose of the FILTER command is to
override message routing. To override the recipi- override message routing. To override the recipi-
ent's <i>transport</i> but not <i>destination</i>, specify an ent's <i>transport</i> but not the next-hop <i>destination</i>,
empty <i>destination</i> (Postfix 2.7 and later), or spec- specify an empty filter <i>destination</i> (Postfix 2.7
ify a <i>transport:destination</i> that delivers through a and later), or specify a <i>transport:destination</i> that
different Postfix instance (Postfix 2.6 and ear- delivers through a different Postfix instance
lier). Other options are using the recipient-depen- (Postfix 2.6 and earlier). Other options are using
dent <b><a href="postconf.5.html#transport_maps">transport_maps</a></b> or the sender-dependent <b><a href="postconf.5.html#sender_dependent_default_transport_maps">sender</a>-</b> the recipient-dependent <b><a href="postconf.5.html#transport_maps">transport_maps</a></b> or the sen-
<b><a href="postconf.5.html#sender_dependent_default_transport_maps">_dependent_default_transport_maps</a></b> features. der-dependent <b><a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport</a>-</b>
<b><a href="postconf.5.html#sender_dependent_default_transport_maps">_maps</a></b> features.
This feature is available in Postfix 2.0 and later. This feature is available in Postfix 2.0 and later.
<b>HOLD</b> <i>optional text...</i> <b>HOLD</b> <i>optional text...</i>
Place the message on the <b>hold</b> queue, where it will Place the message on the <b>hold</b> queue, where it will
sit until someone either deletes it or releases it sit until someone either deletes it or releases it
for delivery. Log the optional text if specified, for delivery. Log the optional text if specified,
otherwise log a generic message. otherwise log a generic message.
Mail that is placed on hold can be examined with Mail that is placed on hold can be examined with
the <a href="postcat.1.html"><b>postcat</b>(1)</a> command, and can be destroyed or the <a href="postcat.1.html"><b>postcat</b>(1)</a> command, and can be destroyed or
released with the <a href="postsuper.1.html"><b>postsuper</b>(1)</a> command. released with the <a href="postsuper.1.html"><b>postsuper</b>(1)</a> command.
Note: use "<b>postsuper -r</b>" to release mail that was Note: use "<b>postsuper -r</b>" to release mail that was
kept on hold for a significant fraction of <b>$<a href="postconf.5.html#maximal_queue_lifetime">maxi</a>-</b> kept on hold for a significant fraction of <b>$<a href="postconf.5.html#maximal_queue_lifetime">maxi</a>-</b>
<b><a href="postconf.5.html#maximal_queue_lifetime">mal_queue_lifetime</a></b> or <b>$<a href="postconf.5.html#bounce_queue_lifetime">bounce_queue_lifetime</a></b>, or <b><a href="postconf.5.html#maximal_queue_lifetime">mal_queue_lifetime</a></b> or <b>$<a href="postconf.5.html#bounce_queue_lifetime">bounce_queue_lifetime</a></b>, or
longer. Use "<b>postsuper -H</b>" only for mail that will longer. Use "<b>postsuper -H</b>" only for mail that will
not expire within a few delivery attempts. not expire within a few delivery attempts.
Note: this action currently affects all recipients Note: this action currently affects all recipients
of the message. of the message.
This feature is available in Postfix 2.0 and later. This feature is available in Postfix 2.0 and later.
<b>PREPEND</b> <i>headername: headervalue</i> <b>PREPEND</b> <i>headername: headervalue</i>
Prepend the specified message header to the mes- Prepend the specified message header to the mes-
sage. When more than one PREPEND action executes, sage. When more than one PREPEND action executes,
the first prepended header appears before the sec- the first prepended header appears before the sec-
ond etc. prepended header. ond etc. prepended header.
Note: this action must execute before the message Note: this action must execute before the message
content is received; it cannot execute in the con- content is received; it cannot execute in the con-
text of <b><a href="postconf.5.html#smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a></b>. text of <b><a href="postconf.5.html#smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a></b>.
This feature is available in Postfix 2.1 and later. This feature is available in Postfix 2.1 and later.
<b>REDIRECT</b> <i>user@domain</i> <b>REDIRECT</b> <i>user@domain</i>
After the message is queued, send the message to After the message is queued, send the message to
the specified address instead of the intended the specified address instead of the intended
recipient(s). recipient(s).
Note: this action overrides the FILTER action, and Note: this action overrides the FILTER action, and
currently affects all recipients of the message. currently affects all recipients of the message.
This feature is available in Postfix 2.1 and later. This feature is available in Postfix 2.1 and later.
<b>WARN</b> <i>optional text...</i> <b>WARN</b> <i>optional text...</i>
Log a warning with the optional text, together with Log a warning with the optional text, together with
client information and if available, with helo, client information and if available, with helo,
sender, recipient and protocol information. sender, recipient and protocol information.
This feature is available in Postfix 2.1 and later. This feature is available in Postfix 2.1 and later.
<b>ENHANCED STATUS CODES</b> <b>ENHANCED STATUS CODES</b>
Postfix version 2.3 and later support enhanced status Postfix version 2.3 and later support enhanced status
codes as defined in <a href="http://tools.ietf.org/html/rfc3463">RFC 3463</a>. When an enhanced status codes as defined in <a href="http://tools.ietf.org/html/rfc3463">RFC 3463</a>. When an enhanced status
code is specified in an access table, it is subject to code is specified in an access table, it is subject to
modification. The following transformations are needed modification. The following transformations are needed
when the same access table is used for client, helo, when the same access table is used for client, helo,
sender, or recipient access restrictions; they happen sender, or recipient access restrictions; they happen
regardless of whether Postfix replies to a MAIL FROM, RCPT regardless of whether Postfix replies to a MAIL FROM, RCPT
TO or other SMTP command. TO or other SMTP command.
<b>o</b> When a sender address matches a REJECT action, the <b>o</b> When a sender address matches a REJECT action, the
Postfix SMTP server will transform a recipient DSN Postfix SMTP server will transform a recipient DSN
status (e.g., 4.1.1-4.1.6) into the corresponding status (e.g., 4.1.1-4.1.6) into the corresponding
sender DSN status, and vice versa. sender DSN status, and vice versa.
<b>o</b> When non-address information matches a REJECT <b>o</b> When non-address information matches a REJECT
action (such as the HELO command argument or the action (such as the HELO command argument or the
client hostname/address), the Postfix SMTP server client hostname/address), the Postfix SMTP server
will transform a sender or recipient DSN status will transform a sender or recipient DSN status
into a generic non-address DSN status (e.g., into a generic non-address DSN status (e.g.,
4.0.0). 4.0.0).
<b>REGULAR EXPRESSION TABLES</b> <b>REGULAR EXPRESSION TABLES</b>
This section describes how the table lookups change when This section describes how the table lookups change when
the table is given in the form of regular expressions. For the table is given in the form of regular expressions. For
a description of regular expression lookup table syntax, a description of regular expression lookup table syntax,
see <a href="regexp_table.5.html"><b>regexp_table</b>(5)</a> or <a href="pcre_table.5.html"><b>pcre_table</b>(5)</a>. see <a href="regexp_table.5.html"><b>regexp_table</b>(5)</a> or <a href="pcre_table.5.html"><b>pcre_table</b>(5)</a>.
Each pattern is a regular expression that is applied to Each pattern is a regular expression that is applied to
the entire string being looked up. Depending on the appli- the entire string being looked up. Depending on the appli-
cation, that string is an entire client hostname, an cation, that string is an entire client hostname, an
entire client IP address, or an entire mail address. Thus, entire client IP address, or an entire mail address. Thus,
no parent domain or parent network search is done, no parent domain or parent network search is done,
<i>user@domain</i> mail addresses are not broken up into their <i>user@domain</i> mail addresses are not broken up into their
<i>user@</i> and <i>domain</i> constituent parts, nor is <i>user+foo</i> broken <i>user@</i> and <i>domain</i> constituent parts, nor is <i>user+foo</i> broken
up into <i>user</i> and <i>foo</i>. up into <i>user</i> and <i>foo</i>.
Patterns are applied in the order as specified in the ta- Patterns are applied in the order as specified in the ta-
ble, until a pattern is found that matches the search ble, until a pattern is found that matches the search
string. string.
Actions are the same as with indexed file lookups, with Actions are the same as with indexed file lookups, with
the additional feature that parenthesized substrings from the additional feature that parenthesized substrings from
the pattern can be interpolated as <b>$1</b>, <b>$2</b> and so on. the pattern can be interpolated as <b>$1</b>, <b>$2</b> and so on.
<b>TCP-BASED TABLES</b> <b>TCP-BASED TABLES</b>
This section describes how the table lookups change when This section describes how the table lookups change when
lookups are directed to a TCP-based server. For a descrip- lookups are directed to a TCP-based server. For a descrip-
tion of the TCP client/server lookup protocol, see <a href="tcp_table.5.html"><b>tcp_ta-</b></a> tion of the TCP client/server lookup protocol, see <a href="tcp_table.5.html"><b>tcp_ta-</b></a>
<a href="tcp_table.5.html"><b>ble</b>(5)</a>. This feature is not available up to and including <a href="tcp_table.5.html"><b>ble</b>(5)</a>. This feature is not available up to and including
Postfix version 2.4. Postfix version 2.4.
Each lookup operation uses the entire query string once. Each lookup operation uses the entire query string once.
Depending on the application, that string is an entire Depending on the application, that string is an entire
client hostname, an entire client IP address, or an entire client hostname, an entire client IP address, or an entire
mail address. Thus, no parent domain or parent network mail address. Thus, no parent domain or parent network
search is done, <i>user@domain</i> mail addresses are not broken search is done, <i>user@domain</i> mail addresses are not broken
up into their <i>user@</i> and <i>domain</i> constituent parts, nor is up into their <i>user@</i> and <i>domain</i> constituent parts, nor is
<i>user+foo</i> broken up into <i>user</i> and <i>foo</i>. <i>user+foo</i> broken up into <i>user</i> and <i>foo</i>.
Actions are the same as with indexed file lookups. Actions are the same as with indexed file lookups.
<b>EXAMPLE</b> <b>EXAMPLE</b>
The following example uses an indexed file, so that the The following example uses an indexed file, so that the
order of table entries does not matter. The example per- order of table entries does not matter. The example per-
mits access by the client at address 1.2.3.4 but rejects mits access by the client at address 1.2.3.4 but rejects
all other clients in 1.2.3.0/24. Instead of <b>hash</b> lookup all other clients in 1.2.3.0/24. Instead of <b>hash</b> lookup
tables, some systems use <b>dbm</b>. Use the command "<b>postconf</b> tables, some systems use <b>dbm</b>. Use the command "<b>postconf</b>
<b>-m</b>" to find out what lookup tables Postfix supports on <b>-m</b>" to find out what lookup tables Postfix supports on
your system. your system.
/etc/postfix/<a href="postconf.5.html">main.cf</a>: /etc/postfix/<a href="postconf.5.html">main.cf</a>:
@ -443,11 +444,11 @@ ACCESS(5) ACCESS(5)
1.2.3 REJECT 1.2.3 REJECT
1.2.3.4 OK 1.2.3.4 OK
Execute the command "<b>postmap /etc/postfix/access</b>" after Execute the command "<b>postmap /etc/postfix/access</b>" after
editing the file. editing the file.
<b>BUGS</b> <b>BUGS</b>
The table format does not understand quoting conventions. The table format does not understand quoting conventions.
<b>SEE ALSO</b> <b>SEE ALSO</b>
<a href="postmap.1.html">postmap(1)</a>, Postfix lookup table manager <a href="postmap.1.html">postmap(1)</a>, Postfix lookup table manager
@ -460,7 +461,7 @@ ACCESS(5) ACCESS(5)
<a href="DATABASE_README.html">DATABASE_README</a>, Postfix lookup table overview <a href="DATABASE_README.html">DATABASE_README</a>, Postfix lookup table overview
<b>LICENSE</b> <b>LICENSE</b>
The Secure Mailer license must be distributed with this The Secure Mailer license must be distributed with this
software. software.
<b>AUTHOR(S)</b> <b>AUTHOR(S)</b>

View File

@ -176,11 +176,11 @@ HEADER_CHECKS(5) HEADER_CHECKS(5)
After the message is queued, send the entire mes- After the message is queued, send the entire mes-
sage through the specified external content filter. sage through the specified external content filter.
The <i>transport</i> name specifies the first field of a The <i>transport</i> name specifies the first field of a
mail delivery agent definition <a href="master.5.html">master.cf</a>; the syn- mail delivery agent definition in <a href="master.5.html">master.cf</a>; the
tax of <i>destination</i> is described in the manual page syntax of the next-hop <i>destination</i> is described in
of the corresponding delivery agent. More informa- the manual page of the corresponding delivery
tion about external content filters is in the Post- agent. More information about external content
fix <a href="FILTER_README.html">FILTER_README</a> file. filters is in the Postfix <a href="FILTER_README.html">FILTER_README</a> file.
Note 1: do not use $<i>number</i> regular expression sub- Note 1: do not use $<i>number</i> regular expression sub-
stitutions for <i>transport</i> or <i>destination</i> unless you stitutions for <i>transport</i> or <i>destination</i> unless you
@ -193,34 +193,35 @@ HEADER_CHECKS(5) HEADER_CHECKS(5)
Note 3: the purpose of the FILTER command is to Note 3: the purpose of the FILTER command is to
override message routing. To override the recipi- override message routing. To override the recipi-
ent's <i>transport</i> but not <i>destination</i>, specify an ent's <i>transport</i> but not the next-hop <i>destination</i>,
empty <i>destination</i> (Postfix 2.7 and later), or spec- specify an empty filter <i>destination</i> (Postfix 2.7
ify a <i>transport:destination</i> that delivers through a and later), or specify a <i>transport:destination</i> that
different Postfix instance (Postfix 2.6 and ear- delivers through a different Postfix instance
lier). Other options are using the recipient-depen- (Postfix 2.6 and earlier). Other options are using
dent <b><a href="postconf.5.html#transport_maps">transport_maps</a></b> or the sender-dependent <b><a href="postconf.5.html#sender_dependent_default_transport_maps">sender</a>-</b> the recipient-dependent <b><a href="postconf.5.html#transport_maps">transport_maps</a></b> or the sen-
<b><a href="postconf.5.html#sender_dependent_default_transport_maps">_dependent_default_transport_maps</a></b> features. der-dependent <b><a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport</a>-</b>
<b><a href="postconf.5.html#sender_dependent_default_transport_maps">_maps</a></b> features.
This feature is available in Postfix 2.0 and later. This feature is available in Postfix 2.0 and later.
<b>HOLD</b> <i>optional text...</i> <b>HOLD</b> <i>optional text...</i>
Arrange for the message to be placed on the <b>hold</b> Arrange for the message to be placed on the <b>hold</b>
queue, and inspect the next input line. The mes- queue, and inspect the next input line. The mes-
sage remains on <b>hold</b> until someone either deletes sage remains on <b>hold</b> until someone either deletes
it or releases it for delivery. Log the optional it or releases it for delivery. Log the optional
text if specified, otherwise log a generic message. text if specified, otherwise log a generic message.
Mail that is placed on hold can be examined with Mail that is placed on hold can be examined with
the <a href="postcat.1.html"><b>postcat</b>(1)</a> command, and can be destroyed or the <a href="postcat.1.html"><b>postcat</b>(1)</a> command, and can be destroyed or
released with the <a href="postsuper.1.html"><b>postsuper</b>(1)</a> command. released with the <a href="postsuper.1.html"><b>postsuper</b>(1)</a> command.
Note: use "<b>postsuper -r</b>" to release mail that was Note: use "<b>postsuper -r</b>" to release mail that was
kept on hold for a significant fraction of <b>$<a href="postconf.5.html#maximal_queue_lifetime">maxi</a>-</b> kept on hold for a significant fraction of <b>$<a href="postconf.5.html#maximal_queue_lifetime">maxi</a>-</b>
<b><a href="postconf.5.html#maximal_queue_lifetime">mal_queue_lifetime</a></b> or <b>$<a href="postconf.5.html#bounce_queue_lifetime">bounce_queue_lifetime</a></b>, or <b><a href="postconf.5.html#maximal_queue_lifetime">mal_queue_lifetime</a></b> or <b>$<a href="postconf.5.html#bounce_queue_lifetime">bounce_queue_lifetime</a></b>, or
longer. Use "<b>postsuper -H</b>" only for mail that will longer. Use "<b>postsuper -H</b>" only for mail that will
not expire within a few delivery attempts. not expire within a few delivery attempts.
Note: this action affects all recipients of the Note: this action affects all recipients of the
message. message.
This feature is available in Postfix 2.0 and later. This feature is available in Postfix 2.0 and later.
@ -229,23 +230,23 @@ HEADER_CHECKS(5) HEADER_CHECKS(5)
the next input line. the next input line.
<b>PREPEND</b> <i>text...</i> <b>PREPEND</b> <i>text...</i>
Prepend one line with the specified text, and Prepend one line with the specified text, and
inspect the next input line. inspect the next input line.
Notes: Notes:
<b>o</b> The prepended text is output on a separate <b>o</b> The prepended text is output on a separate
line, immediately before the input that line, immediately before the input that
triggered the <b>PREPEND</b> action. triggered the <b>PREPEND</b> action.
<b>o</b> The prepended text is not considered part of <b>o</b> The prepended text is not considered part of
the input stream: it is not subject to the input stream: it is not subject to
header/body checks or address rewriting, and header/body checks or address rewriting, and
it does not affect the way that Postfix adds it does not affect the way that Postfix adds
missing message headers. missing message headers.
<b>o</b> When prepending text before a message header <b>o</b> When prepending text before a message header
line, the prepended text must begin with a line, the prepended text must begin with a
valid message header label. valid message header label.
<b>o</b> This action cannot be used to prepend multi- <b>o</b> This action cannot be used to prepend multi-
@ -254,46 +255,46 @@ HEADER_CHECKS(5) HEADER_CHECKS(5)
This feature is available in Postfix 2.1 and later. This feature is available in Postfix 2.1 and later.
<b>REDIRECT</b> <i>user@domain</i> <b>REDIRECT</b> <i>user@domain</i>
Write a message redirection request to the queue Write a message redirection request to the queue
file, and inspect the next input line. After the file, and inspect the next input line. After the
message is queued, it will be sent to the specified message is queued, it will be sent to the specified
address instead of the intended recipient(s). address instead of the intended recipient(s).
Note: this action overrides the <b>FILTER</b> action, and Note: this action overrides the <b>FILTER</b> action, and
affects all recipients of the message. If multiple affects all recipients of the message. If multiple
<b>REDIRECT</b> actions fire, only the last one is exe- <b>REDIRECT</b> actions fire, only the last one is exe-
cuted. cuted.
This feature is available in Postfix 2.1 and later. This feature is available in Postfix 2.1 and later.
<b>REPLACE</b> <i>text...</i> <b>REPLACE</b> <i>text...</i>
Replace the current line with the specified text, Replace the current line with the specified text,
and inspect the next input line. and inspect the next input line.
This feature is available in Postfix 2.2 and later. This feature is available in Postfix 2.2 and later.
The description below applies to Postfix 2.2.2 and The description below applies to Postfix 2.2.2 and
later. later.
Notes: Notes:
<b>o</b> When replacing a message header line, the <b>o</b> When replacing a message header line, the
replacement text must begin with a valid replacement text must begin with a valid
header label. header label.
<b>o</b> The replaced text remains part of the input <b>o</b> The replaced text remains part of the input
stream. Unlike the result from the <b>PREPEND</b> stream. Unlike the result from the <b>PREPEND</b>
action, a replaced message header may be action, a replaced message header may be
subject to address rewriting and may affect subject to address rewriting and may affect
the way that Postfix adds missing message the way that Postfix adds missing message
headers. headers.
<b>REJECT</b> <i>optional text...</i> <b>REJECT</b> <i>optional text...</i>
Reject the entire message. Reply with <i>optional</i> Reject the entire message. Reply with <i>optional</i>
<i>text...</i> when the optional text is specified, other- <i>text...</i> when the optional text is specified, other-
wise reply with a generic error message. wise reply with a generic error message.
Note: this action disables further header or Note: this action disables further header or
<a href="postconf.5.html#body_checks">body_checks</a> inspection of the current message and <a href="postconf.5.html#body_checks">body_checks</a> inspection of the current message and
affects all recipients. affects all recipients.
Postfix version 2.3 and later support enhanced sta- Postfix version 2.3 and later support enhanced sta-
@ -302,37 +303,37 @@ HEADER_CHECKS(5) HEADER_CHECKS(5)
enhanced status code of "5.7.1". enhanced status code of "5.7.1".
<b>WARN</b> <i>optional text...</i> <b>WARN</b> <i>optional text...</i>
Log a warning with the <i>optional text...</i> (or log a Log a warning with the <i>optional text...</i> (or log a
generic message), and inspect the next input line. generic message), and inspect the next input line.
This action is useful for debugging and for testing This action is useful for debugging and for testing
a pattern before applying more drastic actions. a pattern before applying more drastic actions.
<b>BUGS</b> <b>BUGS</b>
Empty lines never match, because some map types mis-behave Empty lines never match, because some map types mis-behave
when given a zero-length search string. This limitation when given a zero-length search string. This limitation
may be removed for regular expression tables in a future may be removed for regular expression tables in a future
release. release.
Many people overlook the main limitations of header and Many people overlook the main limitations of header and
<a href="postconf.5.html#body_checks">body_checks</a> rules. <a href="postconf.5.html#body_checks">body_checks</a> rules.
<b>o</b> These rules operate on one logical message header <b>o</b> These rules operate on one logical message header
or one body line at a time. A decision made for one or one body line at a time. A decision made for one
line is not carried over to the next line. line is not carried over to the next line.
<b>o</b> If text in the message body is encoded (<a href="http://tools.ietf.org/html/rfc2045">RFC 2045</a>) <b>o</b> If text in the message body is encoded (<a href="http://tools.ietf.org/html/rfc2045">RFC 2045</a>)
then the rules need to be specified for the encoded then the rules need to be specified for the encoded
form. form.
<b>o</b> Likewise, when message headers are encoded (<a href="http://tools.ietf.org/html/rfc2047">RFC</a> <b>o</b> Likewise, when message headers are encoded (<a href="http://tools.ietf.org/html/rfc2047">RFC</a>
<a href="http://tools.ietf.org/html/rfc2047">2047</a>) then the rules need to be specified for the <a href="http://tools.ietf.org/html/rfc2047">2047</a>) then the rules need to be specified for the
encoded form. encoded form.
Message headers added by the <a href="cleanup.8.html"><b>cleanup</b>(8)</a> daemon itself are Message headers added by the <a href="cleanup.8.html"><b>cleanup</b>(8)</a> daemon itself are
excluded from inspection. Examples of such message headers excluded from inspection. Examples of such message headers
are <b>From:</b>, <b>To:</b>, <b>Message-ID:</b>, <b>Date:</b>. are <b>From:</b>, <b>To:</b>, <b>Message-ID:</b>, <b>Date:</b>.
Message headers deleted by the <a href="cleanup.8.html"><b>cleanup</b>(8)</a> daemon will be Message headers deleted by the <a href="cleanup.8.html"><b>cleanup</b>(8)</a> daemon will be
examined before they are deleted. Examples are: <b>Bcc:, Con-</b> examined before they are deleted. Examples are: <b>Bcc:, Con-</b>
<b>tent-Length:</b>, <b>Return-Path:</b>. <b>tent-Length:</b>, <b>Return-Path:</b>.
@ -340,11 +341,11 @@ HEADER_CHECKS(5) HEADER_CHECKS(5)
<b><a href="postconf.5.html#body_checks">body_checks</a></b> <b><a href="postconf.5.html#body_checks">body_checks</a></b>
Lookup tables with content filter rules for message Lookup tables with content filter rules for message
body lines. These filters see one physical line at body lines. These filters see one physical line at
a time, in chunks of at most <b>$<a href="postconf.5.html#line_length_limit">line_length_limit</a></b> a time, in chunks of at most <b>$<a href="postconf.5.html#line_length_limit">line_length_limit</a></b>
bytes. bytes.
<b><a href="postconf.5.html#body_checks_size_limit">body_checks_size_limit</a></b> <b><a href="postconf.5.html#body_checks_size_limit">body_checks_size_limit</a></b>
The amount of content per message body segment The amount of content per message body segment
(attachment) that is subjected to <b>$<a href="postconf.5.html#body_checks">body_checks</a></b> fil- (attachment) that is subjected to <b>$<a href="postconf.5.html#body_checks">body_checks</a></b> fil-
tering. tering.
@ -354,35 +355,35 @@ HEADER_CHECKS(5) HEADER_CHECKS(5)
<b><a href="postconf.5.html#nested_header_checks">nested_header_checks</a></b> (default: <b>$<a href="postconf.5.html#header_checks">header_checks</a></b>) <b><a href="postconf.5.html#nested_header_checks">nested_header_checks</a></b> (default: <b>$<a href="postconf.5.html#header_checks">header_checks</a></b>)
Lookup tables with content filter rules for message Lookup tables with content filter rules for message
header lines: respectively, these are applied to header lines: respectively, these are applied to
the initial message headers (not including MIME the initial message headers (not including MIME
headers), to the MIME headers anywhere in the mes- headers), to the MIME headers anywhere in the mes-
sage, and to the initial headers of attached mes- sage, and to the initial headers of attached mes-
sages. sages.
Note: these filters see one logical message header Note: these filters see one logical message header
at a time, even when a message header spans multi- at a time, even when a message header spans multi-
ple lines. Message headers that are longer than ple lines. Message headers that are longer than
<b>$<a href="postconf.5.html#header_size_limit">header_size_limit</a></b> characters are truncated. <b>$<a href="postconf.5.html#header_size_limit">header_size_limit</a></b> characters are truncated.
<b><a href="postconf.5.html#disable_mime_input_processing">disable_mime_input_processing</a></b> <b><a href="postconf.5.html#disable_mime_input_processing">disable_mime_input_processing</a></b>
While receiving mail, give no special treatment to While receiving mail, give no special treatment to
MIME related message headers; all text after the MIME related message headers; all text after the
initial message headers is considered to be part of initial message headers is considered to be part of
the message body. This means that <b><a href="postconf.5.html#header_checks">header_checks</a></b> is the message body. This means that <b><a href="postconf.5.html#header_checks">header_checks</a></b> is
applied to all the initial message headers, and applied to all the initial message headers, and
that <b><a href="postconf.5.html#body_checks">body_checks</a></b> is applied to the remainder of the that <b><a href="postconf.5.html#body_checks">body_checks</a></b> is applied to the remainder of the
message. message.
Note: when used in this manner, <b><a href="postconf.5.html#body_checks">body_checks</a></b> will Note: when used in this manner, <b><a href="postconf.5.html#body_checks">body_checks</a></b> will
process a multi-line message header one line at a process a multi-line message header one line at a
time. time.
<b>EXAMPLES</b> <b>EXAMPLES</b>
Header pattern to block attachments with bad file name Header pattern to block attachments with bad file name
extensions. For convenience, the PCRE /x flag is speci- extensions. For convenience, the PCRE /x flag is speci-
fied, so that there is no need to collapse the pattern fied, so that there is no need to collapse the pattern
into a single line of text. The purpose of the into a single line of text. The purpose of the
[[:xdigit:]] sub-expressions is to recognize Windows CLSID [[:xdigit:]] sub-expressions is to recognize Windows CLSID
strings. strings.
@ -427,7 +428,7 @@ HEADER_CHECKS(5) HEADER_CHECKS(5)
<a href="BACKSCATTER_README.html">BACKSCATTER_README</a>, blocking returned forged mail <a href="BACKSCATTER_README.html">BACKSCATTER_README</a>, blocking returned forged mail
<b>LICENSE</b> <b>LICENSE</b>
The Secure Mailer license must be distributed with this The Secure Mailer license must be distributed with this
software. software.
<b>AUTHOR(S)</b> <b>AUTHOR(S)</b>

View File

@ -195,14 +195,15 @@ OQMGR(8) OQMGR(8)
Available with Postfix version 2.7 and later: Available with Postfix version 2.7 and later:
<b><a href="postconf.5.html#legacy_filter_nexthop">legacy_filter_nexthop</a> (no)</b> <b><a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> (empty)</b>
When a FILTER command does not specify a destina- When a <a href="postconf.5.html#content_filter">content_filter</a> or FILTER request specifies
tion, force the destination to be $<a href="postconf.5.html#myhostname">myhostname</a>, no explicit next-hop destination, use $default_fil-
instead of using the recipient domain. ter_nexthop instead; when that value is empty, use
the domain in the recipient address.
<b>ACTIVE QUEUE CONTROLS</b> <b>ACTIVE QUEUE CONTROLS</b>
<b><a href="postconf.5.html#qmgr_clog_warn_time">qmgr_clog_warn_time</a> (300s)</b> <b><a href="postconf.5.html#qmgr_clog_warn_time">qmgr_clog_warn_time</a> (300s)</b>
The minimal delay between warnings that a specific The minimal delay between warnings that a specific
destination is clogging up the Postfix active destination is clogging up the Postfix active
queue. queue.
@ -210,23 +211,23 @@ OQMGR(8) OQMGR(8)
The maximal number of messages in the <a href="QSHAPE_README.html#active_queue">active queue</a>. The maximal number of messages in the <a href="QSHAPE_README.html#active_queue">active queue</a>.
<b><a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> (20000)</b> <b><a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> (20000)</b>
The maximal number of recipients held in memory by The maximal number of recipients held in memory by
the Postfix queue manager, and the maximal size of the Postfix queue manager, and the maximal size of
the size of the short-term, in-memory "dead" desti- the size of the short-term, in-memory "dead" desti-
nation status cache. nation status cache.
<b>DELIVERY CONCURRENCY CONTROLS</b> <b>DELIVERY CONCURRENCY CONTROLS</b>
<b><a href="postconf.5.html#qmgr_fudge_factor">qmgr_fudge_factor</a> (100)</b> <b><a href="postconf.5.html#qmgr_fudge_factor">qmgr_fudge_factor</a> (100)</b>
Obsolete feature: the percentage of delivery Obsolete feature: the percentage of delivery
resources that a busy mail system will use up for resources that a busy mail system will use up for
delivery of a large mailing list message. delivery of a large mailing list message.
<b><a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a> (5)</b> <b><a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a> (5)</b>
The initial per-destination concurrency level for The initial per-destination concurrency level for
parallel delivery to the same destination. parallel delivery to the same destination.
<b><a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a> (20)</b> <b><a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a> (20)</b>
The default maximal number of parallel deliveries The default maximal number of parallel deliveries
to the same destination. to the same destination.
<b><a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a> ($<a href="postconf.5.html#default_destination_concurrency_limit">default_destina</a>-</b> <b><a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a> ($<a href="postconf.5.html#default_destination_concurrency_limit">default_destina</a>-</b>
@ -241,9 +242,9 @@ OQMGR(8) OQMGR(8)
sage <i>transport</i>. sage <i>transport</i>.
<b><a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a> (1)</b> <b><a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a> (1)</b>
How many pseudo-cohorts must suffer connection or How many pseudo-cohorts must suffer connection or
handshake failure before a specific destination is handshake failure before a specific destination is
considered unavailable (and further delivery is considered unavailable (and further delivery is
suspended). suspended).
<b><a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a></b> <b><a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a></b>
@ -251,8 +252,8 @@ OQMGR(8) OQMGR(8)
Idem, for delivery via the named message <i>transport</i>. Idem, for delivery via the named message <i>transport</i>.
<b><a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a> (1)</b> <b><a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a> (1)</b>
The per-destination amount of delivery concurrency The per-destination amount of delivery concurrency
negative feedback, after a delivery completes with negative feedback, after a delivery completes with
a connection or handshake failure. a connection or handshake failure.
<b><a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a></b> <b><a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a></b>
@ -260,7 +261,7 @@ OQMGR(8) OQMGR(8)
Idem, for delivery via the named message <i>transport</i>. Idem, for delivery via the named message <i>transport</i>.
<b><a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a> (1)</b> <b><a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a> (1)</b>
The per-destination amount of delivery concurrency The per-destination amount of delivery concurrency
positive feedback, after a delivery completes with- positive feedback, after a delivery completes with-
out connection or handshake failure. out connection or handshake failure.
@ -274,7 +275,7 @@ OQMGR(8) OQMGR(8)
<b>RECIPIENT SCHEDULING CONTROLS</b> <b>RECIPIENT SCHEDULING CONTROLS</b>
<b><a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a> (50)</b> <b><a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a> (50)</b>
The default maximal number of recipients per mes- The default maximal number of recipients per mes-
sage delivery. sage delivery.
<b><a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a></b> <b><a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a></b>
@ -282,41 +283,41 @@ OQMGR(8) OQMGR(8)
<b>OTHER RESOURCE AND RATE CONTROLS</b> <b>OTHER RESOURCE AND RATE CONTROLS</b>
<b><a href="postconf.5.html#minimal_backoff_time">minimal_backoff_time</a> (300s)</b> <b><a href="postconf.5.html#minimal_backoff_time">minimal_backoff_time</a> (300s)</b>
The minimal time between attempts to deliver a The minimal time between attempts to deliver a
deferred message; prior to Postfix 2.4 the default deferred message; prior to Postfix 2.4 the default
value was 1000s. value was 1000s.
<b><a href="postconf.5.html#maximal_backoff_time">maximal_backoff_time</a> (4000s)</b> <b><a href="postconf.5.html#maximal_backoff_time">maximal_backoff_time</a> (4000s)</b>
The maximal time between attempts to deliver a The maximal time between attempts to deliver a
deferred message. deferred message.
<b><a href="postconf.5.html#maximal_queue_lifetime">maximal_queue_lifetime</a> (5d)</b> <b><a href="postconf.5.html#maximal_queue_lifetime">maximal_queue_lifetime</a> (5d)</b>
The maximal time a message is queued before it is The maximal time a message is queued before it is
sent back as undeliverable. sent back as undeliverable.
<b><a href="postconf.5.html#queue_run_delay">queue_run_delay</a> (300s)</b> <b><a href="postconf.5.html#queue_run_delay">queue_run_delay</a> (300s)</b>
The time between <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scans by the queue The time between <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scans by the queue
manager; prior to Postfix 2.4 the default value was manager; prior to Postfix 2.4 the default value was
1000s. 1000s.
<b><a href="postconf.5.html#transport_retry_time">transport_retry_time</a> (60s)</b> <b><a href="postconf.5.html#transport_retry_time">transport_retry_time</a> (60s)</b>
The time between attempts by the Postfix queue man- The time between attempts by the Postfix queue man-
ager to contact a malfunctioning message delivery ager to contact a malfunctioning message delivery
transport. transport.
Available in Postfix version 2.1 and later: Available in Postfix version 2.1 and later:
<b><a href="postconf.5.html#bounce_queue_lifetime">bounce_queue_lifetime</a> (5d)</b> <b><a href="postconf.5.html#bounce_queue_lifetime">bounce_queue_lifetime</a> (5d)</b>
The maximal time a bounce message is queued before The maximal time a bounce message is queued before
it is considered undeliverable. it is considered undeliverable.
Available in Postfix version 2.5 and later: Available in Postfix version 2.5 and later:
<b><a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a> (0s)</b> <b><a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a> (0s)</b>
The default amount of delay that is inserted The default amount of delay that is inserted
between individual deliveries to the same destina- between individual deliveries to the same destina-
tion; with per-destination recipient limit &gt; 1, a tion; with per-destination recipient limit &gt; 1, a
destination is a domain, otherwise it is a recipi- destination is a domain, otherwise it is a recipi-
ent. ent.
<b><a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a> $<a href="postconf.5.html#default_destination_rate_delay">default_destina</a>-</b> <b><a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a> $<a href="postconf.5.html#default_destination_rate_delay">default_destina</a>-</b>
@ -325,7 +326,7 @@ OQMGR(8) OQMGR(8)
<b>MISCELLANEOUS CONTROLS</b> <b>MISCELLANEOUS CONTROLS</b>
<b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b> <b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
The default location of the Postfix <a href="postconf.5.html">main.cf</a> and The default location of the Postfix <a href="postconf.5.html">main.cf</a> and
<a href="master.5.html">master.cf</a> configuration files. <a href="master.5.html">master.cf</a> configuration files.
<b><a href="postconf.5.html#defer_transports">defer_transports</a> (empty)</b> <b><a href="postconf.5.html#defer_transports">defer_transports</a> (empty)</b>
@ -334,11 +335,11 @@ OQMGR(8) OQMGR(8)
"<b>sendmail -q</b>" or equivalent. "<b>sendmail -q</b>" or equivalent.
<b><a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> (2)</b> <b><a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> (2)</b>
The maximal number of digits after the decimal The maximal number of digits after the decimal
point when logging sub-second delay values. point when logging sub-second delay values.
<b><a href="postconf.5.html#helpful_warnings">helpful_warnings</a> (yes)</b> <b><a href="postconf.5.html#helpful_warnings">helpful_warnings</a> (yes)</b>
Log warnings about problematic configuration set- Log warnings about problematic configuration set-
tings, and provide helpful suggestions. tings, and provide helpful suggestions.
<b><a href="postconf.5.html#ipc_timeout">ipc_timeout</a> (3600s)</b> <b><a href="postconf.5.html#ipc_timeout">ipc_timeout</a> (3600s)</b>
@ -346,23 +347,23 @@ OQMGR(8) OQMGR(8)
over an internal communication channel. over an internal communication channel.
<b><a href="postconf.5.html#process_id">process_id</a> (read-only)</b> <b><a href="postconf.5.html#process_id">process_id</a> (read-only)</b>
The process ID of a Postfix command or daemon The process ID of a Postfix command or daemon
process. process.
<b><a href="postconf.5.html#process_name">process_name</a> (read-only)</b> <b><a href="postconf.5.html#process_name">process_name</a> (read-only)</b>
The process name of a Postfix command or daemon The process name of a Postfix command or daemon
process. process.
<b><a href="postconf.5.html#queue_directory">queue_directory</a> (see 'postconf -d' output)</b> <b><a href="postconf.5.html#queue_directory">queue_directory</a> (see 'postconf -d' output)</b>
The location of the Postfix top-level queue direc- The location of the Postfix top-level queue direc-
tory. tory.
<b><a href="postconf.5.html#syslog_facility">syslog_facility</a> (mail)</b> <b><a href="postconf.5.html#syslog_facility">syslog_facility</a> (mail)</b>
The syslog facility of Postfix logging. The syslog facility of Postfix logging.
<b><a href="postconf.5.html#syslog_name">syslog_name</a> (see 'postconf -d' output)</b> <b><a href="postconf.5.html#syslog_name">syslog_name</a> (see 'postconf -d' output)</b>
The mail system name that is prepended to the The mail system name that is prepended to the
process name in syslog records, so that "smtpd" process name in syslog records, so that "smtpd"
becomes, for example, "postfix/smtpd". becomes, for example, "postfix/smtpd".
<b>FILES</b> <b>FILES</b>
@ -385,7 +386,7 @@ OQMGR(8) OQMGR(8)
<a href="QSHAPE_README.html">QSHAPE_README</a>, Postfix queue analysis <a href="QSHAPE_README.html">QSHAPE_README</a>, Postfix queue analysis
<b>LICENSE</b> <b>LICENSE</b>
The Secure Mailer license must be distributed with this The Secure Mailer license must be distributed with this
software. software.
<b>AUTHOR(S)</b> <b>AUTHOR(S)</b>

View File

@ -53,8 +53,8 @@ PICKUP(8) PICKUP(8)
<b>CONTENT INSPECTION CONTROLS</b> <b>CONTENT INSPECTION CONTROLS</b>
<b><a href="postconf.5.html#content_filter">content_filter</a> (empty)</b> <b><a href="postconf.5.html#content_filter">content_filter</a> (empty)</b>
The name of a mail delivery transport that filters After the message is queued, send the entire mes-
mail after it is queued. sage to the specified <i>transport:destination</i>.
<b><a href="postconf.5.html#receive_override_options">receive_override_options</a> (empty)</b> <b><a href="postconf.5.html#receive_override_options">receive_override_options</a> (empty)</b>
Enable or disable recipient validation, built-in Enable or disable recipient validation, built-in

View File

@ -1540,24 +1540,25 @@ is already bounded by $<a href="postconf.5.html#max_idle">max_idle</a>. </p>
<p> After the message is queued, send the entire message to the <p> After the message is queued, send the entire message to the
specified <i>transport:destination</i>. The <i>transport</i> name specified <i>transport:destination</i>. The <i>transport</i> name
specifies the first field of a mail delivery agent definition in specifies the first field of a mail delivery agent definition in
<a href="master.5.html">master.cf</a>; the syntax of <i>destination</i> is described in the <a href="master.5.html">master.cf</a>; the syntax of the next-hop <i>destination</i> is described
manual page of the corresponding delivery agent. More information in the manual page of the corresponding delivery agent. More
about external content filters is in the Postfix <a href="FILTER_README.html">FILTER_README</a> file. information about external content filters is in the Postfix
</p> <a href="FILTER_README.html">FILTER_README</a> file. </p>
<p> Notes: </p> <p> Notes: </p>
<ul> <ul>
<li> <p> This setting has a lower precedence than a content filter that <li> <p> This setting has lower precedence than a FILTER action
is specified with an <a href="access.5.html">access(5)</a> table or in a <a href="header_checks.5.html">header_checks(5)</a> or that is specified in an <a href="access.5.html">access(5)</a>, <a href="header_checks.5.html">header_checks(5)</a> or <a href="header_checks.5.html">body_checks(5)</a>
<a href="header_checks.5.html">body_checks(5)</a> table. </p> table. </p>
<li> <p> The meaning of an empty filter <i>destination</i> is version <li> <p> The meaning of an empty next-hop filter <i>destination</i>
dependent. Postfix 2.7 and later will use the recipient domain; is version dependent. Postfix 2.7 and later will use the recipient
earlier versions will use $<a href="postconf.5.html#myhostname">myhostname</a>. Specify "<a href="postconf.5.html#legacy_filter_nexthop">legacy_filter_nexthop</a> domain; earlier versions will use $<a href="postconf.5.html#myhostname">myhostname</a>. Specify
= yes" for compatibility with Postfix 2.6 or earlier, or specify "<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> = $<a href="postconf.5.html#myhostname">myhostname</a>" for compatibility with Postfix
a non-empty filter <i>destination</i>. </p> 2.6 or earlier, or specify a <a href="postconf.5.html#content_filter">content_filter</a> value with an explicit
next-hop <i>destination</i>. </p>
</ul> </ul>
@ -2021,6 +2022,21 @@ name of the message delivery transport.
</p> </p>
</DD>
<DT><b><a name="default_filter_nexthop">default_filter_nexthop</a>
(default: empty)</b></DT><DD>
<p> When a <a href="postconf.5.html#content_filter">content_filter</a> or FILTER request specifies no explicit
next-hop destination, use $<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> instead; when
that value is empty, use the domain in the recipient address.
Specify "<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> = $<a href="postconf.5.html#myhostname">myhostname</a>" for compatibility
with Postfix version 2.6 and earlier, or specify an explicit next-hop
destination with each <a href="postconf.5.html#content_filter">content_filter</a> value or FILTER action. </p>
<p> This feature is available in Postfix 2.7 and later. </p>
</DD> </DD>
<DT><b><a name="default_minimum_delivery_slots">default_minimum_delivery_slots</a> <DT><b><a name="default_minimum_delivery_slots">default_minimum_delivery_slots</a>
@ -3502,20 +3518,6 @@ This feature is available in Postfix 2.1 and later.
</p> </p>
</DD>
<DT><b><a name="legacy_filter_nexthop">legacy_filter_nexthop</a>
(default: no)</b></DT><DD>
<p> When a FILTER command does not specify a destination, force the
destination to be $<a href="postconf.5.html#myhostname">myhostname</a>, instead of using the recipient domain.
Specify "<a href="postconf.5.html#legacy_filter_nexthop">legacy_filter_nexthop</a> = yes" for compatibility with Postfix
version 2.6 and earlier, or specify a non-empty filter destination.
</p>
<p> This feature is available in Postfix 2.7 and later. </p>
</DD> </DD>
<DT><b><a name="line_length_limit">line_length_limit</a> <DT><b><a name="line_length_limit">line_length_limit</a>

View File

@ -201,14 +201,15 @@ QMGR(8) QMGR(8)
Available with Postfix version 2.7 and later: Available with Postfix version 2.7 and later:
<b><a href="postconf.5.html#legacy_filter_nexthop">legacy_filter_nexthop</a> (no)</b> <b><a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> (empty)</b>
When a FILTER command does not specify a destina- When a <a href="postconf.5.html#content_filter">content_filter</a> or FILTER request specifies
tion, force the destination to be $<a href="postconf.5.html#myhostname">myhostname</a>, no explicit next-hop destination, use $default_fil-
instead of using the recipient domain. ter_nexthop instead; when that value is empty, use
the domain in the recipient address.
<b>ACTIVE QUEUE CONTROLS</b> <b>ACTIVE QUEUE CONTROLS</b>
<b><a href="postconf.5.html#qmgr_clog_warn_time">qmgr_clog_warn_time</a> (300s)</b> <b><a href="postconf.5.html#qmgr_clog_warn_time">qmgr_clog_warn_time</a> (300s)</b>
The minimal delay between warnings that a specific The minimal delay between warnings that a specific
destination is clogging up the Postfix active destination is clogging up the Postfix active
queue. queue.
@ -216,13 +217,13 @@ QMGR(8) QMGR(8)
The maximal number of messages in the <a href="QSHAPE_README.html#active_queue">active queue</a>. The maximal number of messages in the <a href="QSHAPE_README.html#active_queue">active queue</a>.
<b><a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> (20000)</b> <b><a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> (20000)</b>
The maximal number of recipients held in memory by The maximal number of recipients held in memory by
the Postfix queue manager, and the maximal size of the Postfix queue manager, and the maximal size of
the size of the short-term, in-memory "dead" desti- the size of the short-term, in-memory "dead" desti-
nation status cache. nation status cache.
<b><a href="postconf.5.html#qmgr_message_recipient_minimum">qmgr_message_recipient_minimum</a> (10)</b> <b><a href="postconf.5.html#qmgr_message_recipient_minimum">qmgr_message_recipient_minimum</a> (10)</b>
The minimal number of in-memory recipients for any The minimal number of in-memory recipients for any
message. message.
<b><a href="postconf.5.html#default_recipient_limit">default_recipient_limit</a> (20000)</b> <b><a href="postconf.5.html#default_recipient_limit">default_recipient_limit</a> (20000)</b>
@ -243,7 +244,7 @@ QMGR(8) QMGR(8)
Available in Postfix version 2.4 and later: Available in Postfix version 2.4 and later:
<b><a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a> (100)</b> <b><a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a> (100)</b>
The default per-transport limit on the number of The default per-transport limit on the number of
recipients refilled at once. recipients refilled at once.
<b><a href="postconf.5.html#transport_recipient_refill_limit"><i>transport</i>_recipient_refill_limit</a> ($<a href="postconf.5.html#default_recipient_refill_limit">default_recipi</a>-</b> <b><a href="postconf.5.html#transport_recipient_refill_limit"><i>transport</i>_recipient_refill_limit</a> ($<a href="postconf.5.html#default_recipient_refill_limit">default_recipi</a>-</b>
@ -251,7 +252,7 @@ QMGR(8) QMGR(8)
Idem, for delivery via the named message <i>transport</i>. Idem, for delivery via the named message <i>transport</i>.
<b><a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a> (5s)</b> <b><a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a> (5s)</b>
The default per-transport maximum delay between The default per-transport maximum delay between
recipients refills. recipients refills.
<b><a href="postconf.5.html#transport_recipient_refill_delay"><i>transport</i>_recipient_refill_delay</a> ($<a href="postconf.5.html#default_recipient_refill_delay">default_recipi</a>-</b> <b><a href="postconf.5.html#transport_recipient_refill_delay"><i>transport</i>_recipient_refill_delay</a> ($<a href="postconf.5.html#default_recipient_refill_delay">default_recipi</a>-</b>
@ -260,11 +261,11 @@ QMGR(8) QMGR(8)
<b>DELIVERY CONCURRENCY CONTROLS</b> <b>DELIVERY CONCURRENCY CONTROLS</b>
<b><a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a> (5)</b> <b><a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a> (5)</b>
The initial per-destination concurrency level for The initial per-destination concurrency level for
parallel delivery to the same destination. parallel delivery to the same destination.
<b><a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a> (20)</b> <b><a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a> (20)</b>
The default maximal number of parallel deliveries The default maximal number of parallel deliveries
to the same destination. to the same destination.
<b><a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a> ($<a href="postconf.5.html#default_destination_concurrency_limit">default_destina</a>-</b> <b><a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a> ($<a href="postconf.5.html#default_destination_concurrency_limit">default_destina</a>-</b>
@ -279,9 +280,9 @@ QMGR(8) QMGR(8)
sage <i>transport</i>. sage <i>transport</i>.
<b><a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a> (1)</b> <b><a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a> (1)</b>
How many pseudo-cohorts must suffer connection or How many pseudo-cohorts must suffer connection or
handshake failure before a specific destination is handshake failure before a specific destination is
considered unavailable (and further delivery is considered unavailable (and further delivery is
suspended). suspended).
<b><a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a></b> <b><a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a></b>
@ -289,8 +290,8 @@ QMGR(8) QMGR(8)
Idem, for delivery via the named message <i>transport</i>. Idem, for delivery via the named message <i>transport</i>.
<b><a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a> (1)</b> <b><a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a> (1)</b>
The per-destination amount of delivery concurrency The per-destination amount of delivery concurrency
negative feedback, after a delivery completes with negative feedback, after a delivery completes with
a connection or handshake failure. a connection or handshake failure.
<b><a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a></b> <b><a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a></b>
@ -298,7 +299,7 @@ QMGR(8) QMGR(8)
Idem, for delivery via the named message <i>transport</i>. Idem, for delivery via the named message <i>transport</i>.
<b><a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a> (1)</b> <b><a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a> (1)</b>
The per-destination amount of delivery concurrency The per-destination amount of delivery concurrency
positive feedback, after a delivery completes with- positive feedback, after a delivery completes with-
out connection or handshake failure. out connection or handshake failure.
@ -312,7 +313,7 @@ QMGR(8) QMGR(8)
<b>RECIPIENT SCHEDULING CONTROLS</b> <b>RECIPIENT SCHEDULING CONTROLS</b>
<b><a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a> (50)</b> <b><a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a> (50)</b>
The default maximal number of recipients per mes- The default maximal number of recipients per mes-
sage delivery. sage delivery.
<b><a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a> ($<a href="postconf.5.html#default_destination_recipient_limit">default_destina</a>-</b> <b><a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a> ($<a href="postconf.5.html#default_destination_recipient_limit">default_destina</a>-</b>
@ -321,8 +322,8 @@ QMGR(8) QMGR(8)
<b>MESSAGE SCHEDULING CONTROLS</b> <b>MESSAGE SCHEDULING CONTROLS</b>
<b><a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a> (5)</b> <b><a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a> (5)</b>
How often the Postfix queue manager's scheduler is How often the Postfix queue manager's scheduler is
allowed to preempt delivery of one message with allowed to preempt delivery of one message with
another. another.
<b><a href="postconf.5.html#transport_delivery_slot_cost"><i>transport</i>_delivery_slot_cost</a> ($<a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>)</b> <b><a href="postconf.5.html#transport_delivery_slot_cost"><i>transport</i>_delivery_slot_cost</a> ($<a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>)</b>
@ -338,7 +339,7 @@ QMGR(8) QMGR(8)
Idem, for delivery via the named message <i>transport</i>. Idem, for delivery via the named message <i>transport</i>.
<b><a href="postconf.5.html#default_delivery_slot_discount">default_delivery_slot_discount</a> (50)</b> <b><a href="postconf.5.html#default_delivery_slot_discount">default_delivery_slot_discount</a> (50)</b>
The default value for transport-specific _deliv- The default value for transport-specific _deliv-
ery_slot_discount settings. ery_slot_discount settings.
<b><a href="postconf.5.html#transport_delivery_slot_discount"><i>transport</i>_delivery_slot_discount</a> ($<a href="postconf.5.html#default_delivery_slot_discount">default_deliv</a>-</b> <b><a href="postconf.5.html#transport_delivery_slot_discount"><i>transport</i>_delivery_slot_discount</a> ($<a href="postconf.5.html#default_delivery_slot_discount">default_deliv</a>-</b>
@ -346,7 +347,7 @@ QMGR(8) QMGR(8)
Idem, for delivery via the named message <i>transport</i>. Idem, for delivery via the named message <i>transport</i>.
<b><a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a> (3)</b> <b><a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a> (3)</b>
The default value for transport-specific _deliv- The default value for transport-specific _deliv-
ery_slot_loan settings. ery_slot_loan settings.
<b><a href="postconf.5.html#transport_delivery_slot_loan"><i>transport</i>_delivery_slot_loan</a> ($<a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a>)</b> <b><a href="postconf.5.html#transport_delivery_slot_loan"><i>transport</i>_delivery_slot_loan</a> ($<a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a>)</b>
@ -354,41 +355,41 @@ QMGR(8) QMGR(8)
<b>OTHER RESOURCE AND RATE CONTROLS</b> <b>OTHER RESOURCE AND RATE CONTROLS</b>
<b><a href="postconf.5.html#minimal_backoff_time">minimal_backoff_time</a> (300s)</b> <b><a href="postconf.5.html#minimal_backoff_time">minimal_backoff_time</a> (300s)</b>
The minimal time between attempts to deliver a The minimal time between attempts to deliver a
deferred message; prior to Postfix 2.4 the default deferred message; prior to Postfix 2.4 the default
value was 1000s. value was 1000s.
<b><a href="postconf.5.html#maximal_backoff_time">maximal_backoff_time</a> (4000s)</b> <b><a href="postconf.5.html#maximal_backoff_time">maximal_backoff_time</a> (4000s)</b>
The maximal time between attempts to deliver a The maximal time between attempts to deliver a
deferred message. deferred message.
<b><a href="postconf.5.html#maximal_queue_lifetime">maximal_queue_lifetime</a> (5d)</b> <b><a href="postconf.5.html#maximal_queue_lifetime">maximal_queue_lifetime</a> (5d)</b>
The maximal time a message is queued before it is The maximal time a message is queued before it is
sent back as undeliverable. sent back as undeliverable.
<b><a href="postconf.5.html#queue_run_delay">queue_run_delay</a> (300s)</b> <b><a href="postconf.5.html#queue_run_delay">queue_run_delay</a> (300s)</b>
The time between <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scans by the queue The time between <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scans by the queue
manager; prior to Postfix 2.4 the default value was manager; prior to Postfix 2.4 the default value was
1000s. 1000s.
<b><a href="postconf.5.html#transport_retry_time">transport_retry_time</a> (60s)</b> <b><a href="postconf.5.html#transport_retry_time">transport_retry_time</a> (60s)</b>
The time between attempts by the Postfix queue man- The time between attempts by the Postfix queue man-
ager to contact a malfunctioning message delivery ager to contact a malfunctioning message delivery
transport. transport.
Available in Postfix version 2.1 and later: Available in Postfix version 2.1 and later:
<b><a href="postconf.5.html#bounce_queue_lifetime">bounce_queue_lifetime</a> (5d)</b> <b><a href="postconf.5.html#bounce_queue_lifetime">bounce_queue_lifetime</a> (5d)</b>
The maximal time a bounce message is queued before The maximal time a bounce message is queued before
it is considered undeliverable. it is considered undeliverable.
Available in Postfix version 2.5 and later: Available in Postfix version 2.5 and later:
<b><a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a> (0s)</b> <b><a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a> (0s)</b>
The default amount of delay that is inserted The default amount of delay that is inserted
between individual deliveries to the same destina- between individual deliveries to the same destina-
tion; with per-destination recipient limit &gt; 1, a tion; with per-destination recipient limit &gt; 1, a
destination is a domain, otherwise it is a recipi- destination is a domain, otherwise it is a recipi-
ent. ent.
<b><a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a> $<a href="postconf.5.html#default_destination_rate_delay">default_destina</a>-</b> <b><a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a> $<a href="postconf.5.html#default_destination_rate_delay">default_destina</a>-</b>
@ -397,7 +398,7 @@ QMGR(8) QMGR(8)
<b>MISCELLANEOUS CONTROLS</b> <b>MISCELLANEOUS CONTROLS</b>
<b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b> <b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
The default location of the Postfix <a href="postconf.5.html">main.cf</a> and The default location of the Postfix <a href="postconf.5.html">main.cf</a> and
<a href="master.5.html">master.cf</a> configuration files. <a href="master.5.html">master.cf</a> configuration files.
<b><a href="postconf.5.html#defer_transports">defer_transports</a> (empty)</b> <b><a href="postconf.5.html#defer_transports">defer_transports</a> (empty)</b>
@ -406,11 +407,11 @@ QMGR(8) QMGR(8)
"<b>sendmail -q</b>" or equivalent. "<b>sendmail -q</b>" or equivalent.
<b><a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> (2)</b> <b><a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> (2)</b>
The maximal number of digits after the decimal The maximal number of digits after the decimal
point when logging sub-second delay values. point when logging sub-second delay values.
<b><a href="postconf.5.html#helpful_warnings">helpful_warnings</a> (yes)</b> <b><a href="postconf.5.html#helpful_warnings">helpful_warnings</a> (yes)</b>
Log warnings about problematic configuration set- Log warnings about problematic configuration set-
tings, and provide helpful suggestions. tings, and provide helpful suggestions.
<b><a href="postconf.5.html#ipc_timeout">ipc_timeout</a> (3600s)</b> <b><a href="postconf.5.html#ipc_timeout">ipc_timeout</a> (3600s)</b>
@ -418,23 +419,23 @@ QMGR(8) QMGR(8)
over an internal communication channel. over an internal communication channel.
<b><a href="postconf.5.html#process_id">process_id</a> (read-only)</b> <b><a href="postconf.5.html#process_id">process_id</a> (read-only)</b>
The process ID of a Postfix command or daemon The process ID of a Postfix command or daemon
process. process.
<b><a href="postconf.5.html#process_name">process_name</a> (read-only)</b> <b><a href="postconf.5.html#process_name">process_name</a> (read-only)</b>
The process name of a Postfix command or daemon The process name of a Postfix command or daemon
process. process.
<b><a href="postconf.5.html#queue_directory">queue_directory</a> (see 'postconf -d' output)</b> <b><a href="postconf.5.html#queue_directory">queue_directory</a> (see 'postconf -d' output)</b>
The location of the Postfix top-level queue direc- The location of the Postfix top-level queue direc-
tory. tory.
<b><a href="postconf.5.html#syslog_facility">syslog_facility</a> (mail)</b> <b><a href="postconf.5.html#syslog_facility">syslog_facility</a> (mail)</b>
The syslog facility of Postfix logging. The syslog facility of Postfix logging.
<b><a href="postconf.5.html#syslog_name">syslog_name</a> (see 'postconf -d' output)</b> <b><a href="postconf.5.html#syslog_name">syslog_name</a> (see 'postconf -d' output)</b>
The mail system name that is prepended to the The mail system name that is prepended to the
process name in syslog records, so that "smtpd" process name in syslog records, so that "smtpd"
becomes, for example, "postfix/smtpd". becomes, for example, "postfix/smtpd".
<b>FILES</b> <b>FILES</b>
@ -458,7 +459,7 @@ QMGR(8) QMGR(8)
<a href="QSHAPE_README.html">QSHAPE_README</a>, Postfix queue analysis <a href="QSHAPE_README.html">QSHAPE_README</a>, Postfix queue analysis
<b>LICENSE</b> <b>LICENSE</b>
The Secure Mailer license must be distributed with this The Secure Mailer license must be distributed with this
software. software.
<b>AUTHOR(S)</b> <b>AUTHOR(S)</b>

View File

@ -52,8 +52,8 @@ QMQPD(8) QMQPD(8)
<b>CONTENT INSPECTION CONTROLS</b> <b>CONTENT INSPECTION CONTROLS</b>
<b><a href="postconf.5.html#content_filter">content_filter</a> (empty)</b> <b><a href="postconf.5.html#content_filter">content_filter</a> (empty)</b>
The name of a mail delivery transport that filters After the message is queued, send the entire mes-
mail after it is queued. sage to the specified <i>transport:destination</i>.
<b><a href="postconf.5.html#receive_override_options">receive_override_options</a> (empty)</b> <b><a href="postconf.5.html#receive_override_options">receive_override_options</a> (empty)</b>
Enable or disable recipient validation, built-in Enable or disable recipient validation, built-in

View File

@ -178,8 +178,8 @@ SMTPD(8) SMTPD(8)
See the <a href="FILTER_README.html">FILTER_README</a> document for details. See the <a href="FILTER_README.html">FILTER_README</a> document for details.
<b><a href="postconf.5.html#content_filter">content_filter</a> (empty)</b> <b><a href="postconf.5.html#content_filter">content_filter</a> (empty)</b>
The name of a mail delivery transport that filters After the message is queued, send the entire mes-
mail after it is queued. sage to the specified <i>transport:destination</i>.
<b>BEFORE QUEUE EXTERNAL CONTENT INSPECTION CONTROLS</b> <b>BEFORE QUEUE EXTERNAL CONTENT INSPECTION CONTROLS</b>
As of version 2.1, the Postfix SMTP server can be config- As of version 2.1, the Postfix SMTP server can be config-

View File

@ -269,10 +269,11 @@ This feature is available in Postfix 2.0 and later.
After the message is queued, send the entire message through After the message is queued, send the entire message through
the specified external content filter. The \fItransport\fR the specified external content filter. The \fItransport\fR
name specifies the first field of a mail delivery agent name specifies the first field of a mail delivery agent
definition in master.cf; the syntax of \fIdestination\fR definition in master.cf; the syntax of the next-hop
is described in the manual page of the corresponding delivery \fIdestination\fR is described in the manual page of the
agent. More information about external content filters is corresponding delivery agent. More information about
in the Postfix FILTER_README file. external content filters is in the Postfix FILTER_README
file.
.sp .sp
Note 1: do not use $\fInumber\fR regular expression Note 1: do not use $\fInumber\fR regular expression
substitutions for \fItransport\fR or \fIdestination\fR substitutions for \fItransport\fR or \fIdestination\fR
@ -285,12 +286,13 @@ one is executed.
.sp .sp
Note 3: the purpose of the FILTER command is to override Note 3: the purpose of the FILTER command is to override
message routing. To override the recipient's \fItransport\fR message routing. To override the recipient's \fItransport\fR
but not \fIdestination\fR, specify an empty \fIdestination\fR but not the next-hop \fIdestination\fR, specify an empty
(Postfix 2.7 and later), or specify a \fItransport:destination\fR filter \fIdestination\fR (Postfix 2.7 and later), or specify
that delivers through a different Postfix instance (Postfix a \fItransport:destination\fR that delivers through a
2.6 and earlier). Other options are using the recipient-dependent different Postfix instance (Postfix 2.6 and earlier). Other
\fBtrans\%port\%_maps\fR or the sen\%der-dependent options are using the recipient-dependent \fBtrans\%port\%_maps\fR
\fBsender\%_de\%pen\%dent_default_trans\%port\%_maps\fR or the sen\%der-dependent
\fBsender\%_de\%pen\%dent\%_de\%fault\%_trans\%port\%_maps\fR
features. features.
.sp .sp
This feature is available in Postfix 2.0 and later. This feature is available in Postfix 2.0 and later.

View File

@ -171,10 +171,11 @@ This feature is available in Postfix 2.1 and later.
After the message is queued, send the entire message through After the message is queued, send the entire message through
the specified external content filter. The \fItransport\fR the specified external content filter. The \fItransport\fR
name specifies the first field of a mail delivery agent name specifies the first field of a mail delivery agent
definition master.cf; the syntax of \fIdestination\fR is definition in master.cf; the syntax of the next-hop
described in the manual page of the corresponding delivery \fIdestination\fR is described in the manual page of the
agent. More information about external content filters is corresponding delivery agent. More information about
in the Postfix FILTER_README file. external content filters is in the Postfix FILTER_README
file.
.sp .sp
Note 1: do not use $\fInumber\fR regular expression Note 1: do not use $\fInumber\fR regular expression
substitutions for \fItransport\fR or \fIdestination\fR substitutions for \fItransport\fR or \fIdestination\fR
@ -187,12 +188,13 @@ one is executed.
.sp .sp
Note 3: the purpose of the FILTER command is to override Note 3: the purpose of the FILTER command is to override
message routing. To override the recipient's \fItransport\fR message routing. To override the recipient's \fItransport\fR
but not \fIdestination\fR, specify an empty \fIdestination\fR but not the next-hop \fIdestination\fR, specify an empty
(Postfix 2.7 and later), or specify a \fItransport:destination\fR filter \fIdestination\fR (Postfix 2.7 and later), or specify
that delivers through a different Postfix instance (Postfix a \fItransport:destination\fR that delivers through a
2.6 and earlier). Other options are using the recipient-dependent different Postfix instance (Postfix 2.6 and earlier). Other
\fBtrans\%port\%_maps\fR or the sen\%der-dependent options are using the recipient-dependent \fBtrans\%port\%_maps\fR
\fBsender\%_de\%pen\%dent_default_trans\%port\%_maps\fR or the sen\%der-dependent
\fBsender\%_de\%pen\%dent\%_de\%fault\%_trans\%port\%_maps\fR
features. features.
.sp .sp
This feature is available in Postfix 2.0 and later. This feature is available in Postfix 2.0 and later.

View File

@ -853,21 +853,23 @@ is already bounded by $max_idle.
After the message is queued, send the entire message to the After the message is queued, send the entire message to the
specified \fItransport:destination\fR. The \fItransport\fR name specified \fItransport:destination\fR. The \fItransport\fR name
specifies the first field of a mail delivery agent definition in specifies the first field of a mail delivery agent definition in
master.cf; the syntax of \fIdestination\fR is described in the master.cf; the syntax of the next-hop \fIdestination\fR is described
manual page of the corresponding delivery agent. More information in the manual page of the corresponding delivery agent. More
about external content filters is in the Postfix FILTER_README file. information about external content filters is in the Postfix
FILTER_README file.
.PP .PP
Notes: Notes:
.IP \(bu .IP \(bu
This setting has a lower precedence than a content filter that This setting has lower precedence than a FILTER action
is specified with an \fBaccess\fR(5) table or in a \fBheader_checks\fR(5) or that is specified in an \fBaccess\fR(5), \fBheader_checks\fR(5) or \fBbody_checks\fR(5)
\fBbody_checks\fR(5) table. table.
.IP \(bu .IP \(bu
The meaning of an empty filter \fIdestination\fR is version The meaning of an empty next-hop filter \fIdestination\fR
dependent. Postfix 2.7 and later will use the recipient domain; is version dependent. Postfix 2.7 and later will use the recipient
earlier versions will use $myhostname. Specify "legacy_filter_nexthop domain; earlier versions will use $myhostname. Specify
= yes" for compatibility with Postfix 2.6 or earlier, or specify "default_filter_nexthop = $myhostname" for compatibility with Postfix
a non-empty filter \fIdestination\fR. 2.6 or earlier, or specify a content_filter value with an explicit
next-hop \fIdestination\fR.
.SH cyrus_sasl_config_path (default: empty) .SH cyrus_sasl_config_path (default: empty)
Search path for Cyrus SASL application configuration files, Search path for Cyrus SASL application configuration files,
currently used only to locate the $smtpd_sasl_path.conf file. currently used only to locate the $smtpd_sasl_path.conf file.
@ -1168,6 +1170,15 @@ degradation.
Use \fItransport\fR_extra_recipient_limit to specify a Use \fItransport\fR_extra_recipient_limit to specify a
transport-specific override, where \fItransport\fR is the master.cf transport-specific override, where \fItransport\fR is the master.cf
name of the message delivery transport. name of the message delivery transport.
.SH default_filter_nexthop (default: empty)
When a content_filter or FILTER request specifies no explicit
next-hop destination, use $default_filter_nexthop instead; when
that value is empty, use the domain in the recipient address.
Specify "default_filter_nexthop = $myhostname" for compatibility
with Postfix version 2.6 and earlier, or specify an explicit next-hop
destination with each content_filter value or FILTER action.
.PP
This feature is available in Postfix 2.7 and later.
.SH default_minimum_delivery_slots (default: 3) .SH default_minimum_delivery_slots (default: 3)
How many recipients a message must have in order to invoke the How many recipients a message must have in order to invoke the
Postfix queue manager's scheduling algorithm at all. Messages Postfix queue manager's scheduling algorithm at all. Messages
@ -1956,13 +1967,6 @@ Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
The default time unit is s (seconds). The default time unit is s (seconds).
.PP .PP
This feature is available in Postfix 2.1 and later. This feature is available in Postfix 2.1 and later.
.SH legacy_filter_nexthop (default: no)
When a FILTER command does not specify a destination, force the
destination to be $myhostname, instead of using the recipient domain.
Specify "legacy_filter_nexthop = yes" for compatibility with Postfix
version 2.6 and earlier, or specify a non-empty filter destination.
.PP
This feature is available in Postfix 2.7 and later.
.SH line_length_limit (default: 2048) .SH line_length_limit (default: 2048)
Upon input, long lines are chopped up into pieces of at most Upon input, long lines are chopped up into pieces of at most
this length; upon delivery, long lines are reconstructed. this length; upon delivery, long lines are reconstructed.

View File

@ -185,9 +185,10 @@ Allow a sender or recipient address to have `-' as the first
character. character.
.PP .PP
Available with Postfix version 2.7 and later: Available with Postfix version 2.7 and later:
.IP "\fBlegacy_filter_nexthop (no)\fR" .IP "\fBdefault_filter_nexthop (empty)\fR"
When a FILTER command does not specify a destination, force the When a content_filter or FILTER request specifies no explicit
destination to be $myhostname, instead of using the recipient domain. next-hop destination, use $default_filter_nexthop instead; when
that value is empty, use the domain in the recipient address.
.SH "ACTIVE QUEUE CONTROLS" .SH "ACTIVE QUEUE CONTROLS"
.na .na
.nf .nf

View File

@ -64,8 +64,8 @@ The text below provides only a parameter summary. See
.ad .ad
.fi .fi
.IP "\fBcontent_filter (empty)\fR" .IP "\fBcontent_filter (empty)\fR"
The name of a mail delivery transport that filters mail after After the message is queued, send the entire message to the
it is queued. specified \fItransport:destination\fR.
.IP "\fBreceive_override_options (empty)\fR" .IP "\fBreceive_override_options (empty)\fR"
Enable or disable recipient validation, built-in content Enable or disable recipient validation, built-in content
filtering, or address mapping. filtering, or address mapping.

View File

@ -189,9 +189,10 @@ Allow a sender or recipient address to have `-' as the first
character. character.
.PP .PP
Available with Postfix version 2.7 and later: Available with Postfix version 2.7 and later:
.IP "\fBlegacy_filter_nexthop (no)\fR" .IP "\fBdefault_filter_nexthop (empty)\fR"
When a FILTER command does not specify a destination, force the When a content_filter or FILTER request specifies no explicit
destination to be $myhostname, instead of using the recipient domain. next-hop destination, use $default_filter_nexthop instead; when
that value is empty, use the domain in the recipient address.
.SH "ACTIVE QUEUE CONTROLS" .SH "ACTIVE QUEUE CONTROLS"
.na .na
.nf .nf

View File

@ -61,8 +61,8 @@ The text below provides only a parameter summary. See
.ad .ad
.fi .fi
.IP "\fBcontent_filter (empty)\fR" .IP "\fBcontent_filter (empty)\fR"
The name of a mail delivery transport that filters mail after After the message is queued, send the entire message to the
it is queued. specified \fItransport:destination\fR.
.IP "\fBreceive_override_options (empty)\fR" .IP "\fBreceive_override_options (empty)\fR"
Enable or disable recipient validation, built-in content Enable or disable recipient validation, built-in content
filtering, or address mapping. filtering, or address mapping.

View File

@ -170,8 +170,8 @@ an external content filter AFTER the mail is queued. This content
filter is expected to inject mail back into a (Postfix or other) filter is expected to inject mail back into a (Postfix or other)
MTA for further delivery. See the FILTER_README document for details. MTA for further delivery. See the FILTER_README document for details.
.IP "\fBcontent_filter (empty)\fR" .IP "\fBcontent_filter (empty)\fR"
The name of a mail delivery transport that filters mail after After the message is queued, send the entire message to the
it is queued. specified \fItransport:destination\fR.
.SH "BEFORE QUEUE EXTERNAL CONTENT INSPECTION CONTROLS" .SH "BEFORE QUEUE EXTERNAL CONTENT INSPECTION CONTROLS"
.na .na
.nf .nf

View File

@ -355,7 +355,7 @@ while (<>) {
s;\bproxy_write_maps\b;<a href="postconf.5.html#proxy_write_maps">$&</a>;g; s;\bproxy_write_maps\b;<a href="postconf.5.html#proxy_write_maps">$&</a>;g;
s;\bqmgr_clog_warn_time\b;<a href="postconf.5.html#qmgr_clog_warn_time">$&</a>;g; s;\bqmgr_clog_warn_time\b;<a href="postconf.5.html#qmgr_clog_warn_time">$&</a>;g;
s;\bqmgr_fudge_factor\b;<a href="postconf.5.html#qmgr_fudge_factor">$&</a>;g; s;\bqmgr_fudge_factor\b;<a href="postconf.5.html#qmgr_fudge_factor">$&</a>;g;
s;\blegacy_filter_nexthop\b;<a href="postconf.5.html#legacy_filter_nexthop">$&</a>;g; s;\bdefault_filter_nexthop\b;<a href="postconf.5.html#default_filter_nexthop">$&</a>;g;
s;\bqmgr_message_active_limit\b;<a href="postconf.5.html#qmgr_message_active_limit">$&</a>;g; s;\bqmgr_message_active_limit\b;<a href="postconf.5.html#qmgr_message_active_limit">$&</a>;g;
s;\bqmgr_message_recip[-</bB>]*\n* *[<bB>]*ient_limit\b;<a href="postconf.5.html#qmgr_message_recipient_limit">$&</a>;g; s;\bqmgr_message_recip[-</bB>]*\n* *[<bB>]*ient_limit\b;<a href="postconf.5.html#qmgr_message_recipient_limit">$&</a>;g;
s;\bqmgr_message_recip[-</bB>]*\n* *[<bB>]*ient_minimum\b;<a href="postconf.5.html#qmgr_message_recipient_minimum">$&</a>;g; s;\bqmgr_message_recip[-</bB>]*\n* *[<bB>]*ient_minimum\b;<a href="postconf.5.html#qmgr_message_recipient_minimum">$&</a>;g;

View File

@ -399,18 +399,19 @@ and causes mail to be given to the content filter instead. </p>
<p> The content_filter configuration parameter expects a value of <p> The content_filter configuration parameter expects a value of
the form <i>transport:destination</i>. The <i>transport</i> name the form <i>transport:destination</i>. The <i>transport</i> name
specifies the first field of a mail delivery agent definition in specifies the first field of a mail delivery agent definition in
master.cf; the syntax of <i>destination</i> is described in the master.cf; the syntax of the next-hop <i>destination</i> is described
manual page of the corresponding delivery agent. </p> in the manual page of the corresponding delivery agent. </p>
<p> The meaning of an empty filter <i>destination</i> is version <p> The meaning of an empty next-hop filter <i>destination</i> is
dependent. Postfix 2.7 and later will use the recipient domain; version dependent. Postfix 2.7 and later will use the recipient
earlier versions will use $myhostname. Specify "legacy_filter_nexthop domain; earlier versions will use $myhostname. Specify
= yes" for compatibility with Postfix 2.6 or earlier, or specify a "default_filter_nexthop = $myhostname" for compatibility with Postfix
non-empty filter destination. </p> 2.6 or earlier, or specify a non-empty next-hop filter <i>destination</i>.
</p>
<p> The content_filter setting has a lower precedence than a content <p> The content_filter setting has lower precedence than a FILTER
filter that is specified with an access(5) table or in a header_checks(5) action that is specified in an access(5), header_checks(5) or
or body_checks(5) table. </p> body_checks(5) table. </p>
<li> <p> Execute "<b>postfix reload</b>" to complete the change. <li> <p> Execute "<b>postfix reload</b>" to complete the change.
</p> </p>
@ -625,18 +626,18 @@ of its final destination. </p>
<li> <p> The content_filter configuration parameter expects a value <li> <p> The content_filter configuration parameter expects a value
of the form <i>transport:destination</i>. The <i>transport</i> name of the form <i>transport:destination</i>. The <i>transport</i> name
specifies the first field of a mail delivery agent definition in specifies the first field of a mail delivery agent definition in
master.cf; the syntax of <i>destination</i> is described in the master.cf; the syntax of the next-hop <i>destination</i> is described
manual page of the corresponding delivery agent. </p> in the manual page of the corresponding delivery agent. </p>
<li> <p> The meaning of an empty filter <i>destination</i> is version <li> <p> The meaning of an empty next-hop filter <i>destination</i>
dependent. Postfix 2.7 and later will use the recipient domain; is version dependent. Postfix 2.7 and later will use the recipient
earlier versions will use $myhostname. Specify "legacy_filter_nexthop domain; earlier versions will use $myhostname. Specify
= yes" for compatibility with Postfix 2.6 or earlier, or specify a "default_filter_nexthop = $myhostname" for compatibility with Postfix
non-empty filter destination. </p> 2.6 or earlier, or specify a non-empty next-hop filter <i>destination</i>.
<li> <p> The content_filter setting has a lower precedence than a <li> <p> The content_filter setting has lower precedence than a
content filter that is specified with an access(5) table or in a FILTER action that is specified in an access(5), header_checks(5)
header_checks(5) or body_checks(5) table. </p> or body_checks(5) table. </p>
</ul> </ul>

View File

@ -274,10 +274,11 @@
# After the message is queued, send the entire message through # After the message is queued, send the entire message through
# the specified external content filter. The \fItransport\fR # the specified external content filter. The \fItransport\fR
# name specifies the first field of a mail delivery agent # name specifies the first field of a mail delivery agent
# definition in master.cf; the syntax of \fIdestination\fR # definition in master.cf; the syntax of the next-hop
# is described in the manual page of the corresponding delivery # \fIdestination\fR is described in the manual page of the
# agent. More information about external content filters is # corresponding delivery agent. More information about
# in the Postfix FILTER_README file. # external content filters is in the Postfix FILTER_README
# file.
# .sp # .sp
# Note 1: do not use $\fInumber\fR regular expression # Note 1: do not use $\fInumber\fR regular expression
# substitutions for \fItransport\fR or \fIdestination\fR # substitutions for \fItransport\fR or \fIdestination\fR
@ -290,12 +291,13 @@
# .sp # .sp
# Note 3: the purpose of the FILTER command is to override # Note 3: the purpose of the FILTER command is to override
# message routing. To override the recipient's \fItransport\fR # message routing. To override the recipient's \fItransport\fR
# but not \fIdestination\fR, specify an empty \fIdestination\fR # but not the next-hop \fIdestination\fR, specify an empty
# (Postfix 2.7 and later), or specify a \fItransport:destination\fR # filter \fIdestination\fR (Postfix 2.7 and later), or specify
# that delivers through a different Postfix instance (Postfix # a \fItransport:destination\fR that delivers through a
# 2.6 and earlier). Other options are using the recipient-dependent # different Postfix instance (Postfix 2.6 and earlier). Other
# \fBtrans\%port\%_maps\fR or the sen\%der-dependent # options are using the recipient-dependent \fBtrans\%port\%_maps\fR
# \fBsender\%_de\%pen\%dent_default_trans\%port\%_maps\fR # or the sen\%der-dependent
# \fBsender\%_de\%pen\%dent\%_de\%fault\%_trans\%port\%_maps\fR
# features. # features.
# .sp # .sp
# This feature is available in Postfix 2.0 and later. # This feature is available in Postfix 2.0 and later.

View File

@ -182,10 +182,11 @@
# After the message is queued, send the entire message through # After the message is queued, send the entire message through
# the specified external content filter. The \fItransport\fR # the specified external content filter. The \fItransport\fR
# name specifies the first field of a mail delivery agent # name specifies the first field of a mail delivery agent
# definition master.cf; the syntax of \fIdestination\fR is # definition in master.cf; the syntax of the next-hop
# described in the manual page of the corresponding delivery # \fIdestination\fR is described in the manual page of the
# agent. More information about external content filters is # corresponding delivery agent. More information about
# in the Postfix FILTER_README file. # external content filters is in the Postfix FILTER_README
# file.
# .sp # .sp
# Note 1: do not use $\fInumber\fR regular expression # Note 1: do not use $\fInumber\fR regular expression
# substitutions for \fItransport\fR or \fIdestination\fR # substitutions for \fItransport\fR or \fIdestination\fR
@ -198,12 +199,13 @@
# .sp # .sp
# Note 3: the purpose of the FILTER command is to override # Note 3: the purpose of the FILTER command is to override
# message routing. To override the recipient's \fItransport\fR # message routing. To override the recipient's \fItransport\fR
# but not \fIdestination\fR, specify an empty \fIdestination\fR # but not the next-hop \fIdestination\fR, specify an empty
# (Postfix 2.7 and later), or specify a \fItransport:destination\fR # filter \fIdestination\fR (Postfix 2.7 and later), or specify
# that delivers through a different Postfix instance (Postfix # a \fItransport:destination\fR that delivers through a
# 2.6 and earlier). Other options are using the recipient-dependent # different Postfix instance (Postfix 2.6 and earlier). Other
# \fBtrans\%port\%_maps\fR or the sen\%der-dependent # options are using the recipient-dependent \fBtrans\%port\%_maps\fR
# \fBsender\%_de\%pen\%dent_default_trans\%port\%_maps\fR # or the sen\%der-dependent
# \fBsender\%_de\%pen\%dent\%_de\%fault\%_trans\%port\%_maps\fR
# features. # features.
# .sp # .sp
# This feature is available in Postfix 2.0 and later. # This feature is available in Postfix 2.0 and later.

View File

@ -6864,24 +6864,25 @@ allowed set are replaced by underscores.
<p> After the message is queued, send the entire message to the <p> After the message is queued, send the entire message to the
specified <i>transport:destination</i>. The <i>transport</i> name specified <i>transport:destination</i>. The <i>transport</i> name
specifies the first field of a mail delivery agent definition in specifies the first field of a mail delivery agent definition in
master.cf; the syntax of <i>destination</i> is described in the master.cf; the syntax of the next-hop <i>destination</i> is described
manual page of the corresponding delivery agent. More information in the manual page of the corresponding delivery agent. More
about external content filters is in the Postfix FILTER_README file. information about external content filters is in the Postfix
</p> FILTER_README file. </p>
<p> Notes: </p> <p> Notes: </p>
<ul> <ul>
<li> <p> This setting has a lower precedence than a content filter that <li> <p> This setting has lower precedence than a FILTER action
is specified with an access(5) table or in a header_checks(5) or that is specified in an access(5), header_checks(5) or body_checks(5)
body_checks(5) table. </p> table. </p>
<li> <p> The meaning of an empty filter <i>destination</i> is version <li> <p> The meaning of an empty next-hop filter <i>destination</i>
dependent. Postfix 2.7 and later will use the recipient domain; is version dependent. Postfix 2.7 and later will use the recipient
earlier versions will use $myhostname. Specify "legacy_filter_nexthop domain; earlier versions will use $myhostname. Specify
= yes" for compatibility with Postfix 2.6 or earlier, or specify "default_filter_nexthop = $myhostname" for compatibility with Postfix
a non-empty filter <i>destination</i>. </p> 2.6 or earlier, or specify a content_filter value with an explicit
next-hop <i>destination</i>. </p>
</ul> </ul>
@ -12832,13 +12833,14 @@ setting for address verification probes. </p>
<p> This feature is available in Postfix 2.7 and later. </p> <p> This feature is available in Postfix 2.7 and later. </p>
%PARAM legacy_filter_nexthop no %PARAM default_filter_nexthop
<p> When a FILTER command does not specify a destination, force the <p> When a content_filter or FILTER request specifies no explicit
destination to be $myhostname, instead of using the recipient domain. next-hop destination, use $default_filter_nexthop instead; when
Specify "legacy_filter_nexthop = yes" for compatibility with Postfix that value is empty, use the domain in the recipient address.
version 2.6 and earlier, or specify a non-empty filter destination. Specify "default_filter_nexthop = $myhostname" for compatibility
</p> with Postfix version 2.6 and earlier, or specify an explicit next-hop
destination with each content_filter value or FILTER action. </p>
<p> This feature is available in Postfix 2.7 and later. </p> <p> This feature is available in Postfix 2.7 and later. </p>

View File

@ -2253,9 +2253,9 @@ extern void mail_params_init(void);
#define DEF_FILTER_XPORT "" #define DEF_FILTER_XPORT ""
extern char *var_filter_xport; extern char *var_filter_xport;
#define VAR_LEGACY_FILTER_NEXTHOP "legacy_filter_nexthop" #define VAR_DEF_FILTER_NEXTHOP "default_filter_nexthop"
#define DEF_LEGACY_FILTER_NEXTHOP 0 #define DEF_DEF_FILTER_NEXTHOP ""
extern bool var_legacy_filter_nexthop; extern char *var_def_filter_nexthop;
/* /*
* Fast flush service support. * Fast flush service support.

View File

@ -20,7 +20,7 @@
* Patches change both the patchlevel and the release date. Snapshots have no * Patches change both the patchlevel and the release date. Snapshots have no
* patchlevel; they change the release date only. * patchlevel; they change the release date only.
*/ */
#define MAIL_RELEASE_DATE "20100116" #define MAIL_RELEASE_DATE "20100117"
#define MAIL_VERSION_NUMBER "2.7" #define MAIL_VERSION_NUMBER "2.7"
#ifdef SNAPSHOT #ifdef SNAPSHOT

View File

@ -159,9 +159,10 @@
/* character. /* character.
/* .PP /* .PP
/* Available with Postfix version 2.7 and later: /* Available with Postfix version 2.7 and later:
/* .IP "\fBlegacy_filter_nexthop (no)\fR" /* .IP "\fBdefault_filter_nexthop (empty)\fR"
/* When a FILTER command does not specify a destination, force the /* When a content_filter or FILTER request specifies no explicit
/* destination to be $myhostname, instead of using the recipient domain. /* next-hop destination, use $default_filter_nexthop instead; when
/* that value is empty, use the domain in the recipient address.
/* ACTIVE QUEUE CONTROLS /* ACTIVE QUEUE CONTROLS
/* .ad /* .ad
/* .fi /* .fi
@ -374,7 +375,7 @@ char *var_conc_neg_feedback;
int var_conc_cohort_limit; int var_conc_cohort_limit;
int var_conc_feedback_debug; int var_conc_feedback_debug;
int var_dest_rate_delay; int var_dest_rate_delay;
bool var_legacy_filter_nexthop; char *var_def_filter_nexthop;
static QMGR_SCAN *qmgr_scans[2]; static QMGR_SCAN *qmgr_scans[2];
@ -604,6 +605,7 @@ int main(int argc, char **argv)
VAR_DEFER_XPORTS, DEF_DEFER_XPORTS, &var_defer_xports, 0, 0, VAR_DEFER_XPORTS, DEF_DEFER_XPORTS, &var_defer_xports, 0, 0,
VAR_CONC_POS_FDBACK, DEF_CONC_POS_FDBACK, &var_conc_pos_feedback, 1, 0, VAR_CONC_POS_FDBACK, DEF_CONC_POS_FDBACK, &var_conc_pos_feedback, 1, 0,
VAR_CONC_NEG_FDBACK, DEF_CONC_NEG_FDBACK, &var_conc_neg_feedback, 1, 0, VAR_CONC_NEG_FDBACK, DEF_CONC_NEG_FDBACK, &var_conc_neg_feedback, 1, 0,
VAR_DEF_FILTER_NEXTHOP, DEF_DEF_FILTER_NEXTHOP, &var_def_filter_nexthop, 0, 0,
0, 0,
}; };
static const CONFIG_TIME_TABLE time_table[] = { static const CONFIG_TIME_TABLE time_table[] = {
@ -633,7 +635,6 @@ int main(int argc, char **argv)
static const CONFIG_BOOL_TABLE bool_table[] = { static const CONFIG_BOOL_TABLE bool_table[] = {
VAR_VERP_BOUNCE_OFF, DEF_VERP_BOUNCE_OFF, &var_verp_bounce_off, VAR_VERP_BOUNCE_OFF, DEF_VERP_BOUNCE_OFF, &var_verp_bounce_off,
VAR_CONC_FDBACK_DEBUG, DEF_CONC_FDBACK_DEBUG, &var_conc_feedback_debug, VAR_CONC_FDBACK_DEBUG, DEF_CONC_FDBACK_DEBUG, &var_conc_feedback_debug,
VAR_LEGACY_FILTER_NEXTHOP, DEF_LEGACY_FILTER_NEXTHOP, &var_legacy_filter_nexthop,
0, 0,
}; };

View File

@ -1009,8 +1009,8 @@ static void qmgr_message_resolve(QMGR_MESSAGE *message)
reply.flags = 0; reply.flags = 0;
vstring_strcpy(reply.transport, message->filter_xport); vstring_strcpy(reply.transport, message->filter_xport);
if (FILTER_WITHOUT_NEXTHOP(STR(reply.transport), nexthop) if (FILTER_WITHOUT_NEXTHOP(STR(reply.transport), nexthop)
&& (var_legacy_filter_nexthop != 0 && *(nexthop = var_def_filter_nexthop) == 0
|| RCPT_WITHOUT_DOMAIN(recipient->address, nexthop))) && RCPT_WITHOUT_DOMAIN(recipient->address, nexthop))
nexthop = var_myhostname; nexthop = var_myhostname;
vstring_strcpy(reply.nexthop, nexthop); vstring_strcpy(reply.nexthop, nexthop);
vstring_strcpy(reply.recipient, recipient->address); vstring_strcpy(reply.recipient, recipient->address);

View File

@ -46,8 +46,8 @@
/* .ad /* .ad
/* .fi /* .fi
/* .IP "\fBcontent_filter (empty)\fR" /* .IP "\fBcontent_filter (empty)\fR"
/* The name of a mail delivery transport that filters mail after /* After the message is queued, send the entire message to the
/* it is queued. /* specified \fItransport:destination\fR.
/* .IP "\fBreceive_override_options (empty)\fR" /* .IP "\fBreceive_override_options (empty)\fR"
/* Enable or disable recipient validation, built-in content /* Enable or disable recipient validation, built-in content
/* filtering, or address mapping. /* filtering, or address mapping.

View File

@ -163,9 +163,10 @@
/* character. /* character.
/* .PP /* .PP
/* Available with Postfix version 2.7 and later: /* Available with Postfix version 2.7 and later:
/* .IP "\fBlegacy_filter_nexthop (no)\fR" /* .IP "\fBdefault_filter_nexthop (empty)\fR"
/* When a FILTER command does not specify a destination, force the /* When a content_filter or FILTER request specifies no explicit
/* destination to be $myhostname, instead of using the recipient domain. /* next-hop destination, use $default_filter_nexthop instead; when
/* that value is empty, use the domain in the recipient address.
/* ACTIVE QUEUE CONTROLS /* ACTIVE QUEUE CONTROLS
/* .ad /* .ad
/* .fi /* .fi
@ -434,7 +435,7 @@ char *var_conc_neg_feedback;
int var_conc_cohort_limit; int var_conc_cohort_limit;
int var_conc_feedback_debug; int var_conc_feedback_debug;
int var_dest_rate_delay; int var_dest_rate_delay;
bool var_legacy_filter_nexthop; char *var_def_filter_nexthop;
static QMGR_SCAN *qmgr_scans[2]; static QMGR_SCAN *qmgr_scans[2];
@ -671,6 +672,7 @@ int main(int argc, char **argv)
VAR_DEFER_XPORTS, DEF_DEFER_XPORTS, &var_defer_xports, 0, 0, VAR_DEFER_XPORTS, DEF_DEFER_XPORTS, &var_defer_xports, 0, 0,
VAR_CONC_POS_FDBACK, DEF_CONC_POS_FDBACK, &var_conc_pos_feedback, 1, 0, VAR_CONC_POS_FDBACK, DEF_CONC_POS_FDBACK, &var_conc_pos_feedback, 1, 0,
VAR_CONC_NEG_FDBACK, DEF_CONC_NEG_FDBACK, &var_conc_neg_feedback, 1, 0, VAR_CONC_NEG_FDBACK, DEF_CONC_NEG_FDBACK, &var_conc_neg_feedback, 1, 0,
VAR_DEF_FILTER_NEXTHOP, DEF_DEF_FILTER_NEXTHOP, &var_def_filter_nexthop, 0, 0,
0, 0,
}; };
static const CONFIG_TIME_TABLE time_table[] = { static const CONFIG_TIME_TABLE time_table[] = {
@ -708,7 +710,6 @@ int main(int argc, char **argv)
static const CONFIG_BOOL_TABLE bool_table[] = { static const CONFIG_BOOL_TABLE bool_table[] = {
VAR_VERP_BOUNCE_OFF, DEF_VERP_BOUNCE_OFF, &var_verp_bounce_off, VAR_VERP_BOUNCE_OFF, DEF_VERP_BOUNCE_OFF, &var_verp_bounce_off,
VAR_CONC_FDBACK_DEBUG, DEF_CONC_FDBACK_DEBUG, &var_conc_feedback_debug, VAR_CONC_FDBACK_DEBUG, DEF_CONC_FDBACK_DEBUG, &var_conc_feedback_debug,
VAR_LEGACY_FILTER_NEXTHOP, DEF_LEGACY_FILTER_NEXTHOP, &var_legacy_filter_nexthop,
0, 0,
}; };

View File

@ -1068,8 +1068,8 @@ static void qmgr_message_resolve(QMGR_MESSAGE *message)
reply.flags = 0; reply.flags = 0;
vstring_strcpy(reply.transport, message->filter_xport); vstring_strcpy(reply.transport, message->filter_xport);
if (FILTER_WITHOUT_NEXTHOP(STR(reply.transport), nexthop) if (FILTER_WITHOUT_NEXTHOP(STR(reply.transport), nexthop)
&& (var_legacy_filter_nexthop != 0 && *(nexthop = var_def_filter_nexthop) == 0
|| RCPT_WITHOUT_DOMAIN(recipient->address, nexthop))) && RCPT_WITHOUT_DOMAIN(recipient->address, nexthop))
nexthop = var_myhostname; nexthop = var_myhostname;
vstring_strcpy(reply.nexthop, nexthop); vstring_strcpy(reply.nexthop, nexthop);
vstring_strcpy(reply.recipient, recipient->address); vstring_strcpy(reply.recipient, recipient->address);

View File

@ -45,8 +45,8 @@
/* .ad /* .ad
/* .fi /* .fi
/* .IP "\fBcontent_filter (empty)\fR" /* .IP "\fBcontent_filter (empty)\fR"
/* The name of a mail delivery transport that filters mail after /* After the message is queued, send the entire message to the
/* it is queued. /* specified \fItransport:destination\fR.
/* .IP "\fBreceive_override_options (empty)\fR" /* .IP "\fBreceive_override_options (empty)\fR"
/* Enable or disable recipient validation, built-in content /* Enable or disable recipient validation, built-in content
/* filtering, or address mapping. /* filtering, or address mapping.

View File

@ -150,8 +150,8 @@
/* filter is expected to inject mail back into a (Postfix or other) /* filter is expected to inject mail back into a (Postfix or other)
/* MTA for further delivery. See the FILTER_README document for details. /* MTA for further delivery. See the FILTER_README document for details.
/* .IP "\fBcontent_filter (empty)\fR" /* .IP "\fBcontent_filter (empty)\fR"
/* The name of a mail delivery transport that filters mail after /* After the message is queued, send the entire message to the
/* it is queued. /* specified \fItransport:destination\fR.
/* BEFORE QUEUE EXTERNAL CONTENT INSPECTION CONTROLS /* BEFORE QUEUE EXTERNAL CONTENT INSPECTION CONTROLS
/* .ad /* .ad
/* .fi /* .fi
@ -3227,9 +3227,9 @@ static int vrfy_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *argv)
smtpd_chat_reply(state, "501 5.1.3 Bad recipient address syntax"); smtpd_chat_reply(state, "501 5.1.3 Bad recipient address syntax");
return (-1); return (-1);
} }
/* Not: state->addr_buf */ /* Use state->addr_buf, with the unquoted result from extract_addr() */
if (SMTPD_STAND_ALONE(state) == 0 if (SMTPD_STAND_ALONE(state) == 0
&& (err = smtpd_check_rcpt(state, argv[1].strval)) != 0) { && (err = smtpd_check_rcpt(state, STR(state->addr_buf))) != 0) {
smtpd_chat_reply(state, "%s", err); smtpd_chat_reply(state, "%s", err);
return (-1); return (-1);
} }
@ -3237,8 +3237,8 @@ static int vrfy_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *argv)
/* /*
* XXX 2821 new feature: Section 3.5.1 requires that the VRFY response is * XXX 2821 new feature: Section 3.5.1 requires that the VRFY response is
* either "full name <user@domain>" or "user@domain". Postfix replies * either "full name <user@domain>" or "user@domain". Postfix replies
* with the address that was provided by the client, whether or not it is * with the string that was provided by the client, whether or not it is
* in fully qualified domain form or not. * in fully qualified domain form and the address is in <>.
* *
* Reply code 250 is reserved for the case where the address is verified; * Reply code 250 is reserved for the case where the address is verified;
* reply code 252 should be used when no definitive certainty exists. * reply code 252 should be used when no definitive certainty exists.