2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-09-01 22:55:29 +00:00

postfix-1.1.12-20021218

This commit is contained in:
Wietse Venema
2002-12-18 00:00:00 -05:00
committed by Viktor Dukhovni
parent 9491ceed2a
commit 53a2d9a860
58 changed files with 694 additions and 629 deletions

View File

@@ -7500,9 +7500,6 @@ Open problems:
or maildir delivery that result in deferral rather than or maildir delivery that result in deferral rather than
bouncing mail. bouncing mail.
Low: don't do user@domain and @domain lookups in
local_recipient_maps queries.
Low: after reorganizing configuration parameters, add flags Low: after reorganizing configuration parameters, add flags
to all parameters whose value can be read from file. to all parameters whose value can be read from file.
@@ -7528,7 +7525,3 @@ Open problems:
Low: with quoted-printable, perhaps use =46rom instead of Low: with quoted-printable, perhaps use =46rom instead of
>From. >From.
Low: make it easier to have local_recipient_maps turned on
by default. This requires documentation of its existence
with anything that replaces or extends local delivery.

View File

@@ -46,10 +46,11 @@ was contributed by Jason Hoos.
When receiving mail, Postfix logs the client-provided username, When receiving mail, Postfix logs the client-provided username,
authentication method, and sender address to the maillog file, and authentication method, and sender address to the maillog file, and
optionally grants mail access via the permit_sasl_authenticated optionally grants mail access via the permit_sasl_authenticated
UCE restriction. SASL authentication information is not passed on UCE restriction.
via message headers or via SMTP. It is no-one's business what
username and authentication method the poster was using in order SASL authentication information is not passed on via message headers
to access the mail server. or via SMTP. It is no-one's business what username and authentication
method the poster was using in order to access the mail server.
When sending mail, Postfix looks up the server hostname or destination When sending mail, Postfix looks up the server hostname or destination
domain (the address remote part) in a table, and if a username/password domain (the address remote part) in a table, and if a username/password

View File

@@ -129,7 +129,7 @@
# tion schemes. # tion schemes.
# #
# DUNNO Pretend that the lookup key was not found in this # DUNNO Pretend that the lookup key was not found in this
# table, to prevents Postfix from trying substrings # table. This prevents Postfix from trying substrings
# of the lookup key (such as a subdomain name, or a # of the lookup key (such as a subdomain name, or a
# network address subnetwork). # network address subnetwork).
# #

View File

@@ -72,7 +72,7 @@
# user@domain is replaced by address. This form has # user@domain is replaced by address. This form has
# the highest precedence. # the highest precedence.
# #
# This form useful to clean up addresses produced by # This is useful to clean up addresses produced by
# legacy mail systems. It can also be used to pro- # legacy mail systems. It can also be used to pro-
# duce Firstname.Lastname style addresses, but see # duce Firstname.Lastname style addresses, but see
# below for a simpler solution. # below for a simpler solution.

View File

@@ -88,133 +88,141 @@
# Note 1: the special pattern * represents any address (i.e. # Note 1: the special pattern * represents any address (i.e.
# it functions as the wild-card pattern). # it functions as the wild-card pattern).
# #
# Note 2: the null recipient address is looked up as the # Note 2: the null recipient address is looked up as
# local mailer-daemon address (mailer-daemon@fully-quali- # $empty_address_recipient@$myhostname (default: mailer-dae-
# fied-domain-name). # mon@hostname).
# #
# RESULT FORMAT # RESULT FORMAT
# A null transport and null nexthop result means "do not # The transport field specifies the name of a mail delivery
# change": use the delivery transport and nexthop informa-
# tion that would be used when the entire transport table
# did not exist.
#
# A non-null transport field with a null nexthop field
# resets the nexthop information to the recipient domain.
#
# A null transport field with non-null nexthop field does
# not modify the transport information.
#
# TRANSPORT FIELD
# The transport field specifies the name of a mail delivery
# transport (the first name of a mail delivery service entry # transport (the first name of a mail delivery service entry
# in the Postfix master.cf file). # in the Postfix master.cf file).
# #
# When a null transport field is specified, Postfix uses one # The interpretation of the nexthop field is transport
# of the following transports:
#
# $local_transport
# The domain matches $mydestination or $inet_inter-
# faces.
#
# $virtual_transport
# The domain matches $virtual_mailbox_domains.
#
# $relay_transport
# The domain matches $relay_transport.
#
# $default_transport
# All other non-local, non-virtual destinations.
#
# NEXTHOP FIELD
# The interpretation of the nexthop field is transport
# dependent. In the case of SMTP, specify host:service for a # dependent. In the case of SMTP, specify host:service for a
# non-default server port, and use [host] or [host]:port in # non-default server port, and use [host] or [host]:port in
# order to disable MX (mail exchanger) DNS lookups. The [] # order to disable MX (mail exchanger) DNS lookups. The []
# form can also be used with IP addresses instead of host- # form can also be used with IP addresses instead of host-
# names. # names.
# #
# A null transport and null nexthop result means "do not
# change": use the delivery transport and nexthop informa-
# tion that would be used when the entire transport table
# did not exist.
#
# A non-null transport field with a null nexthop field
# resets the nexthop information to the recipient domain.
#
# A null transport field with non-null nexthop field does
# not modify the transport information.
#
# DEFAULT DELIVERY METHOD
# When the recipient address or domain does not match a
# transport table entry, Postfix uses one of the following
# delivery methods, with the recipient domain as the default
# nexthop.
#
# o The recipient domain matches $mydestination or
# $inet_interfaces. The transport and optional nex-
# thop are specified with $local_transport.
#
# o The recipient domain matches $virtual_mail-
# box_domains. The transport and optional nexthop
# are specified with $virtual_transport.
#
# o The recipient domain matches $relay_domains. The
# transport and optional nexthop are specified with
# $relay_transport. This overrides the nexthop infor-
# mation that is specified with $relayhost.
#
# o All other destinations. the transport and optional
# nexthop are specified with $relay_transport. This
# overrides the nexthop information that is specified
# with $relayhost.
#
# EXAMPLES # EXAMPLES
# In order to deliver internal mail directly, while using a # In order to deliver internal mail directly, while using a
# mail relay for all other mail, specify a null entry for # mail relay for all other mail, specify a null entry for
# internal destinations (do not change the delivery trans- # internal destinations (do not change the delivery trans-
# port or the nexthop information) and specify a wildcard # port or the nexthop information) and specify a wildcard
# for all other destinations. Note that for this trick to # for all other destinations.
# work you should not specify a relayhost in the main.cf
# file.
# #
# my.domain : # my.domain :
# .my.domain : # .my.domain :
# * smtp:outbound-relay.my.domain # * smtp:outbound-relay.my.domain
# #
# In order to send mail for foo.org and its subdomains via # In order to send mail for foo.org and its subdomains via
# the uucp transport to the UUCP host named foo: # the uucp transport to the UUCP host named foo:
# #
# foo.org uucp:foo # foo.org uucp:foo
# .foo.org uucp:foo # .foo.org uucp:foo
# #
# When no nexthop host name is specified, the destination # When no nexthop host name is specified, the destination
# domain name is used instead. For example, the following # domain name is used instead. For example, the following
# directs mail for user@foo.org via the slow transport to a # directs mail for user@foo.org via the slow transport to a
# mail exchanger for foo.org. The slow transport could be # mail exchanger for foo.org. The slow transport could be
# something that runs at most one delivery process at a # something that runs at most one delivery process at a
# time: # time:
# #
# foo.org slow: # foo.org slow:
# #
# When no transport is specified, Postfix uses the transport # When no transport is specified, Postfix uses the transport
# that matches the address domain class (see TRANSPORT FIELD # that matches the address domain class (see TRANSPORT FIELD
# discussion above). The following sends all mail for # discussion above). The following sends all mail for
# foo.org and its subdomains to host gateway.foo.org: # foo.org and its subdomains to host gateway.foo.org:
# #
# foo.org :[gateway.foo.org] # foo.org :[gateway.foo.org]
# .foo.org :[gateway.foo.org] # .foo.org :[gateway.foo.org]
# #
# In the above example, the [] are used to suppress MX # In the above example, the [] are used to suppress MX
# lookups. The result would likely point to your local # lookups. The result would likely point to your local
# machine. # machine.
# #
# In the case of delivery via SMTP, one may specify host- # In the case of delivery via SMTP, one may specify host-
# name:service instead of just a host: # name:service instead of just a host:
# #
# foo.org smtp:bar.org:2025 # foo.org smtp:bar.org:2025
# #
# This directs mail for user@foo.org to host bar.org port # This directs mail for user@foo.org to host bar.org port
# 2025. Instead of a numerical port a symbolic name may be # 2025. Instead of a numerical port a symbolic name may be
# used. Specify [] around the hostname in order to disable # used. Specify [] around the hostname in order to disable
# MX lookups. # MX lookups.
# #
# The error mailer can be used to bounce mail: # The error mailer can be used to bounce mail:
# #
# .foo.org error:mail for *.foo.org is not deliv- # .foo.org error:mail for *.foo.org is not deliv-
# erable # erable
# #
# This causes all mail for user@anything.foo.org to be # This causes all mail for user@anything.foo.org to be
# bounced. # bounced.
# #
# 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 domain being looked up. Thus, some.domain.hier- # the entire domain being looked up. Thus, some.domain.hier-
# archy is not broken up into parent domains. # archy is not broken up into parent domains.
# #
# Patterns are applied in the order as specified in the # Patterns are applied in the order as specified in the
# table, until a pattern is found that matches the search # table, until a pattern is found that matches the search
# string. # string.
# #
# Results are the same as with indexed file lookups, with # Results 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.
# #
# CONFIGURATION PARAMETERS # CONFIGURATION PARAMETERS
# The following main.cf parameters are especially relevant # The following main.cf parameters are especially relevant
# to this topic. See the Postfix main.cf file for syntax # to this topic. See the Postfix main.cf file for syntax
# details and for default values. Use the postfix reload # details and for default values. Use the postfix reload
# command after a configuration change. # command after a configuration change.
# #
# empty_address_recipient
# The address that is looked up instead of the null
# sender address.
#
# parent_domain_matches_subdomains # parent_domain_matches_subdomains
# List of Postfix features that use domain.tld pat- # List of Postfix features that use domain.tld pat-
# terns to match sub.domain.tld (as opposed to # terns to match sub.domain.tld (as opposed to

View File

@@ -18,8 +18,8 @@
# #
# The main applications of virtual aliasing are: # The main applications of virtual aliasing are:
# #
# o To redirect mail from one address to one or more # o To redirect mail for one address to one or more
# other addresses. # addresses.
# #
# o To simulate virtual domains where all virtual # o To simulate virtual domains where all virtual
# addresses are aliased to non-virtual addresses. # addresses are aliased to non-virtual addresses.
@@ -49,56 +49,6 @@
# sions. In that case, the lookups are done in a slightly # sions. In that case, the lookups are done in a slightly
# different way as described below. # different way as described below.
# #
# SIMULATED VIRTUAL DOMAINS
# Besides virtual aliases, the virtual alias table can also
# be used to simulate virtual domains. With a simulated vir-
# tual domain, all recipient addresses are aliased to non-
# virtual addresses. These non-virtual addresses may be
# either local or remote.
#
# Simulated virtual domains are not to be confused with the
# true virtual domains that are implemented with the Postfix
# virtual(8) mail delivery agent. With true virtual domains,
# each recipient address can have its own mailbox.
#
# With a simulated virtual domain, the virtual domain has
# its own user name space. Local (i.e. non-virtual) user-
# names are not visible in a simulated virtual domain. In
# particular, local aliases(5) and local mailing lists are
# not visible as localname@simulated.domain.
#
# Support for a simulated virtual domain looks like:
#
# /etc/postfix/main.cf:
# virtual_alias_maps = hash:/etc/postfix/virtual
#
# Note: some systems use dbm databases instead of hash.
# See the output from postconf -m for available database
# types.
#
# /etc/postfix/virtual:
# simulated.domain anything (right-hand content does not matter)
# postmaster@simulated.domain postmaster
# user1@simulated.domain address1
# user2@simulated.domain address2, address3
#
# The simulated.domain anything entry is required for a sim-
# ulated virtual domain. Without this entry, mail will be
# rejected with a "relay access denied" error condition.
#
# Do not list a simulated virtual domain name in the main.cf
# mydestination configuration parameter.
#
# With a simulated virtual domain, the Postfix SMTP server
# accepts mail for known-user@simulated.domain, and rejects
# mail for unknown-user@simulated.domain as undeliverable.
#
# Instead of specifying the simulated virtual domain name
# via the virtual_alias_maps table, you may also specify it
# via the main.cf virtual_alias_domains configuration param-
# eter. This latter parameter uses the same syntax as the
# main.cf mydestination configuration parameter.
#
# TABLE FORMAT # TABLE FORMAT
# The format of the virtual table is as follows, mappings # The format of the virtual table is as follows, mappings
# being tried in the order as listed in this manual page: # being tried in the order as listed in this manual page:
@@ -151,6 +101,56 @@
# @domain. An unmatched address extension (+foo) is propa- # @domain. An unmatched address extension (+foo) is propa-
# gated to the result of table lookup. # gated to the result of table lookup.
# #
# SIMULATED VIRTUAL DOMAINS
# Besides virtual aliases, the virtual alias table can also
# be used to simulate virtual domains. With a simulated vir-
# tual domain, all recipient addresses are aliased to non-
# virtual addresses. These non-virtual addresses may be
# either local or remote.
#
# Simulated virtual domains are not to be confused with the
# true virtual domains that are implemented with the Postfix
# virtual(8) mail delivery agent. With true virtual domains,
# each recipient address can have its own mailbox.
#
# With a simulated virtual domain, the virtual domain has
# its own user name space. Local (i.e. non-virtual) user-
# names are not visible in a simulated virtual domain. In
# particular, local aliases(5) and local mailing lists are
# not visible as localname@simulated.domain.
#
# Support for a simulated virtual domain looks like:
#
# /etc/postfix/main.cf:
# virtual_alias_maps = hash:/etc/postfix/virtual
#
# Note: some systems use dbm databases instead of hash.
# See the output from postconf -m for available database
# types.
#
# /etc/postfix/virtual:
# simulated.domain anything (right-hand content does not matter)
# postmaster@simulated.domain postmaster
# user1@simulated.domain address1
# user2@simulated.domain address2, address3
#
# The simulated.domain anything entry is required for a sim-
# ulated virtual domain. Without this entry, mail will be
# rejected with a "relay access denied" error condition.
#
# Do not list a simulated virtual domain name in the main.cf
# mydestination configuration parameter.
#
# With a simulated virtual domain, the Postfix SMTP server
# accepts mail for known-user@simulated.domain, and rejects
# mail for unknown-user@simulated.domain as undeliverable.
#
# Instead of specifying the simulated virtual domain name
# via the virtual_alias_maps table, you may also specify it
# via the main.cf virtual_alias_domains configuration param-
# eter. This latter parameter uses the same syntax as the
# main.cf mydestination configuration parameter.
#
# 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

View File

@@ -130,7 +130,7 @@ ACCESS(5) ACCESS(5)
tion schemes. tion schemes.
<b>DUNNO</b> Pretend that the lookup key was not found in this <b>DUNNO</b> Pretend that the lookup key was not found in this
table, to prevents Postfix from trying substrings table. This prevents Postfix from trying substrings
of the lookup key (such as a subdomain name, or a of the lookup key (such as a subdomain name, or a
network address subnetwork). network address subnetwork).

View File

@@ -73,7 +73,7 @@ CANONICAL(5) CANONICAL(5)
<i>user</i>@<i>domain</i> is replaced by <i>address</i>. This form has <i>user</i>@<i>domain</i> is replaced by <i>address</i>. This form has
the highest precedence. the highest precedence.
This form useful to clean up addresses produced by This is useful to clean up addresses produced by
legacy mail systems. It can also be used to pro- legacy mail systems. It can also be used to pro-
duce <i>Firstname.Lastname</i> style addresses, but see duce <i>Firstname.Lastname</i> style addresses, but see
below for a simpler solution. below for a simpler solution.

View File

@@ -188,20 +188,24 @@ CLEANUP(8) CLEANUP(8)
<b>Resource</b> <b>controls</b> <b>Resource</b> <b>controls</b>
<b>duplicate</b><i>_</i><b>filter</b><i>_</i><b>limit</b> <b>duplicate</b><i>_</i><b>filter</b><i>_</i><b>limit</b>
Limit the number of envelope recipients that are Limits the number of envelope recipients that are
remembered. remembered.
<b>header</b><i>_</i><b>size</b><i>_</i><b>limit</b> <b>header</b><i>_</i><b>address</b><i>_</i><b>token</b><i>_</i><b>limit</b>
Limit the amount of memory in bytes used to process Limits the number of address tokens used to process
a message header. a message header.
<b>header</b><i>_</i><b>size</b><i>_</i><b>limit</b>
Limits the amount of memory in bytes used to pro-
cess a message header.
<b>in</b><i>_</i><b>flow</b><i>_</i><b>delay</b> <b>in</b><i>_</i><b>flow</b><i>_</i><b>delay</b>
Amount of time to pause before accepting a message, Amount of time to pause before accepting a message,
when the message arrival rate exceeds the message when the message arrival rate exceeds the message
delivery rate. delivery rate.
<b>extract</b><i>_</i><b>recipient</b><i>_</i><b>limit</b> <b>extract</b><i>_</i><b>recipient</b><i>_</i><b>limit</b>
Limit the amount of recipients extracted from mes- Limit the amount of recipients extracted from mes-
sage headers. sage headers.
<b>SEE</b> <b>ALSO</b> <b>SEE</b> <b>ALSO</b>
@@ -216,7 +220,7 @@ CLEANUP(8) CLEANUP(8)
/etc/postfix/virtual*, virtual mapping table /etc/postfix/virtual*, virtual mapping table
<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

@@ -173,45 +173,47 @@ LOCAL(8) LOCAL(8)
<b>SENDER</b> The entire sender address. <b>SENDER</b> The entire sender address.
The <b>PATH</b> environment variable is always reset to a system- The <b>PATH</b> environment variable is always reset to a system-
dependent default path, and the <b>TZ</b> (time zone) environment dependent default path, and environment variables whose
variable is always passed on without change. names are blessed by the <b>export</b><i>_</i><b>environment</b> configureation
parameter are exported unchanged.
The current working directory is the mail queue directory. The current working directory is the mail queue directory.
The <b>local</b> daemon prepends a "<b>From</b> <i>sender</i> <i>time_stamp</i>" enve- The <b>local</b> daemon prepends a "<b>From</b> <i>sender</i> <i>time_stamp</i>" enve-
lope header to each message, prepends an <b>X-Original-To:</b> lope header to each message, prepends an <b>X-Original-To:</b>
header with the recipient address as given to Postfix, header with the recipient address as given to Postfix,
prepends an optional <b>Delivered-To:</b> header with the recipi- prepends an optional <b>Delivered-To:</b> header with the recipi-
ent envelope address, prepends a <b>Return-Path:</b> header with ent envelope address, prepends a <b>Return-Path:</b> header with
the sender envelope address, and appends no empty line. the sender envelope address, and appends no empty line.
<b>EXTERNAL</b> <b>FILE</b> <b>DELIVERY</b> <b>EXTERNAL</b> <b>FILE</b> <b>DELIVERY</b>
The delivery format depends on the destination filename The delivery format depends on the destination filename
syntax. The default is to use UNIX-style mailbox format. syntax. The default is to use UNIX-style mailbox format.
Specify a name ending in <b>/</b> for <b>qmail</b>-compatible <b>maildir</b> Specify a name ending in <b>/</b> for <b>qmail</b>-compatible <b>maildir</b>
delivery. delivery.
The <b>allow</b><i>_</i><b>mail</b><i>_</i><b>to</b><i>_</i><b>files</b> configuration parameter restricts The <b>allow</b><i>_</i><b>mail</b><i>_</i><b>to</b><i>_</i><b>files</b> configuration parameter restricts
delivery to external files. The default setting (<b>alias,</b> delivery to external files. The default setting (<b>alias,</b>
<b>forward</b>) forbids file destinations in <b>:include:</b> files. <b>forward</b>) forbids file destinations in <b>:include:</b> files.
In the case of UNIX-style mailbox delivery, the <b>local</b> dae- In the case of UNIX-style mailbox delivery, the <b>local</b> dae-
mon prepends a "<b>From</b> <i>sender</i> <i>time_stamp</i>" envelope header to mon prepends a "<b>From</b> <i>sender</i> <i>time_stamp</i>" envelope header to
each message, prepends an <b>X-Original-To:</b> header with the each message, prepends an <b>X-Original-To:</b> header with the
recipient address as given to Postfix, prepends an recipient address as given to Postfix, prepends an
optional <b>Delivered-To:</b> header with the recipient envelope optional <b>Delivered-To:</b> header with the recipient envelope
address, prepends a &gt; character to lines beginning with address, prepends a &gt; character to lines beginning with
"<b>From</b> ", and appends an empty line. The envelope sender "<b>From</b> ", and appends an empty line. The envelope sender
address is available in the <b>Return-Path:</b> header. When the address is available in the <b>Return-Path:</b> header. When the
destination is a regular file, it is locked for exclusive destination is a regular file, it is locked for exclusive
access while delivery is in progress. In case of problems, access while delivery is in progress. In case of problems,
an attempt is made to truncate a regular file to its orig- an attempt is made to truncate a regular file to its orig-
inal length. inal length.
In the case of <b>maildir</b> delivery, the local daemon prepends In the case of <b>maildir</b> delivery, the local daemon prepends
an optional <b>Delivered-To:</b> header with the envelope recipi- an optional <b>Delivered-To:</b> header with the envelope recipi-
ent address. The envelope sender address is available in ent address, and prepends an <b>X-Original-To:</b> header with
the <b>Return-Path:</b> header. the recipient address as given to Postfix. The envelope
sender address is available in the <b>Return-Path:</b> header.
<b>ADDRESS</b> <b>EXTENSION</b> <b>ADDRESS</b> <b>EXTENSION</b>
The optional <b>recipient</b><i>_</i><b>delimiter</b> configuration parameter The optional <b>recipient</b><i>_</i><b>delimiter</b> configuration parameter

View File

@@ -5,7 +5,7 @@ MASTER(8) MASTER(8)
master - Postfix master process master - Postfix master process
<b>SYNOPSIS</b> <b>SYNOPSIS</b>
<b>master</b> [<b>-c</b> <i>config_dir</i>] [<b>-e</b> <i>exit_time</i>] [<b>-D</b>] [<b>-t</b>] [<b>-v</b>] <b>master</b> [<b>-Dtv</b>] [<b>-c</b> <i>config_dir</i>] [<b>-e</b> <i>exit_time</i>]
<b>DESCRIPTION</b> <b>DESCRIPTION</b>
The <b>master</b> daemon is the resident process that runs Post- The <b>master</b> daemon is the resident process that runs Post-

View File

@@ -62,7 +62,7 @@ PCRE_TABLE(5) PCRE_TABLE(5)
<b>m</b> (default: off) <b>m</b> (default: off)
Toggles the PCRE_MULTILINE flag. When this flag is Toggles the PCRE_MULTILINE flag. When this flag is
on, the <b>^</b> and $ metacharacters match immediately on, the <b>^</b> and <b>$</b> metacharacters match immediately
after and immediately before a newline character, after and immediately before a newline character,
respectively, in addition to matching at the start respectively, in addition to matching at the start
and end of the subject string. and end of the subject string.

View File

@@ -19,13 +19,13 @@ PICKUP(8) PICKUP(8)
world. world.
<b>SECURITY</b> <b>SECURITY</b>
The <b>pickup</b> daemon runs with superuser privileges so that The <b>pickup</b> daemon is moderately security sensitive. It
it 1) can open a queue file with the rights of the submit- runs with fixed low privilege and can run in a chrooted
ting user and 2) can access the Postfix private IPC chan- environment. However, the program reads files from poten-
nels. On the positive side, the program can run chrooted, tially hostile users. The <b>pickup</b> daemon opens no files
opens no files for writing, is careful about what files it for writing, is careful about what files it opens for
opens for reading, and does not actually touch any data reading, and does not actually touch any data that is sent
that is sent to its public service endpoint. to its public service endpoint.
<b>DIAGNOSTICS</b> <b>DIAGNOSTICS</b>
Problems and transactions are logged to <b>syslogd</b>(8). Problems and transactions are logged to <b>syslogd</b>(8).
@@ -56,10 +56,6 @@ PICKUP(8) PICKUP(8)
Address to send a copy of each message that enters Address to send a copy of each message that enters
the system. the system.
<b>mail</b><i>_</i><b>owner</b>
The process privileges used while not opening a
<b>maildrop</b> file.
<b>queue</b><i>_</i><b>directory</b> <b>queue</b><i>_</i><b>directory</b>
Top-level directory of the Postfix queue. Top-level directory of the Postfix queue.
@@ -70,7 +66,7 @@ PICKUP(8) PICKUP(8)
syslogd(8) system logging syslogd(8) system logging
<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

@@ -51,7 +51,7 @@ POSTALIAS(1) POSTALIAS(1)
<b>-i</b> Incremental mode. Read entries from standard input <b>-i</b> Incremental mode. Read entries from standard input
and do not truncate an existing database. By and do not truncate an existing database. By
default, <b>postalias</b> creates a new database from the default, <b>postalias</b> creates a new database from the
entries in <b>file</b><i>_</i><b>name</b>. entries in <i>file_name</i>.
<b>-n</b> Don't include the terminating null character that <b>-n</b> Don't include the terminating null character that
terminates lookup keys and values. By default, terminates lookup keys and values. By default,
@@ -113,7 +113,7 @@ POSTALIAS(1) POSTALIAS(1)
<i>file_name</i> <i>file_name</i>
The name of the alias database source file when The name of the alias database source file when
rebuilding a database. creating a database.
<b>DIAGNOSTICS</b> <b>DIAGNOSTICS</b>
Problems are logged to the standard error stream. No out- Problems are logged to the standard error stream. No out-
@@ -136,9 +136,9 @@ POSTALIAS(1) POSTALIAS(1)
to this program. See the Postfix <b>main.cf</b> file for syntax to this program. See the Postfix <b>main.cf</b> file for syntax
details and for default values. details and for default values.
efault_Bdatabase_type <b>default</b><i>_</i><b>database</b><i>_</i><b>type</b>
Default alias database type. On many UNIX systems, Default database type. On many UNIX systems, the
the default type is either <b>dbm</b> or <b>hash</b>. default type is either <b>dbm</b> or <b>hash</b>.
<b>berkeley</b><i>_</i><b>db</b><i>_</i><b>create</b><i>_</i><b>buffer</b><i>_</i><b>size</b> <b>berkeley</b><i>_</i><b>db</b><i>_</i><b>create</b><i>_</i><b>buffer</b><i>_</i><b>size</b>
Amount of buffer memory to be used when creating a Amount of buffer memory to be used when creating a

View File

@@ -11,7 +11,7 @@ POSTCONF(1) POSTCONF(1)
<b>DESCRIPTION</b> <b>DESCRIPTION</b>
The <b>postconf</b> command prints the actual value of <i>parameter</i> The <b>postconf</b> command prints the actual value of <i>parameter</i>
(all known parameters by default), one parameter per line, (all known parameters by default) one parameter per line,
changes its value, or prints other information about the changes its value, or prints other information about the
Postfix mail system. Postfix mail system.

View File

@@ -5,7 +5,7 @@ POSTFIX(1) POSTFIX(1)
postfix - Postfix control program postfix - Postfix control program
<b>SYNOPSIS</b> <b>SYNOPSIS</b>
<b>postfix</b> [<b>-c</b> <i>config_dir</i>] [<b>-D</b>] [<b>-v</b>] <i>command</i> <b>postfix</b> [<b>-Dv</b>] [<b>-c</b> <i>config_dir</i>] <i>command</i>
<b>DESCRIPTION</b> <b>DESCRIPTION</b>
This command is reserved for the superuser. To submit This command is reserved for the superuser. To submit
@@ -67,11 +67,12 @@ POSTFIX(1) POSTFIX(1)
verbose. verbose.
<b>ENVIRONMENT</b> <b>ENVIRONMENT</b>
The <b>postfix</b> command sets the following environment vari- The <b>postfix</b> command exports the following environment
ables: variables before executing the <b>postfix-script</b> file:
<b>MAIL</b><i>_</i><b>CONFIG</b> <b>MAIL</b><i>_</i><b>CONFIG</b>
Directory with Postfix configuration files. This is set when the -c command-line option is pre-
sent.
<b>MAIL</b><i>_</i><b>VERBOSE</b> <b>MAIL</b><i>_</i><b>VERBOSE</b>
This is set when the -v command-line option is pre- This is set when the -v command-line option is pre-
@@ -81,10 +82,8 @@ POSTFIX(1) POSTFIX(1)
This is set when the -D command-line option is pre- This is set when the -D command-line option is pre-
sent. sent.
<b>CONFIGURATION</b> <b>PARAMETERS</b> The following <b>main.cf</b> configuration parameters are
The following <b>main.cf</b> configuration parameters are made exported as environment variables with the same names:
available as process environment variables with the same
names:
<b>command</b><i>_</i><b>directory</b> <b>command</b><i>_</i><b>directory</b>
Directory with Postfix administrative commands. Directory with Postfix administrative commands.
@@ -111,14 +110,14 @@ POSTFIX(1) POSTFIX(1)
commands. commands.
<b>sendmail</b><i>_</i><b>path</b> <b>sendmail</b><i>_</i><b>path</b>
The full pathname for the Postfix sendmail command. The full pathname for the Postfix <b>sendmail</b> command.
<b>newaliases</b><i>_</i><b>path</b> <b>newaliases</b><i>_</i><b>path</b>
The full pathname for the Postfix newaliases com- The full pathname for the Postfix <b>newaliases</b> com-
mand. mand.
<b>mailq</b><i>_</i><b>path</b> <b>mailq</b><i>_</i><b>path</b>
The full pathname for the Postfix mailq command. The full pathname for the Postfix <b>mailq</b> command.
<b>manpage</b><i>_</i><b>directory</b> <b>manpage</b><i>_</i><b>directory</b>
The directory for the Postfix on-line manual pages. The directory for the Postfix on-line manual pages.

View File

@@ -96,7 +96,7 @@ QMQPD(8) QMQPD(8)
address information. address information.
<b>Tarpitting</b> <b>Tarpitting</b>
<b>qmqpd</b><i>_</i><b>error</b><i>_</i><b>sleep</b><i>_</i><b>time</b> <b>qmqpd</b><i>_</i><b>error</b><i>_</i><b>delay</b>
Time to wait in seconds before informing the client Time to wait in seconds before informing the client
of a problem. This slows down run-away errors. of a problem. This slows down run-away errors.

View File

@@ -164,63 +164,64 @@ SENDMAIL(1) SENDMAIL(1)
<b>-o7</b> (ignored) <b>-o7</b> (ignored)
<b>-o8</b> (ignored) <b>-o8</b> (ignored)
The message body type. Currently, Postfix imple- To send 8-bit or binary content, use an appropriate
ments <b>just-send-eight</b>. MIME encapsulation and specify the appropriate <b>-B</b>
command-line option.
<b>-oi</b> When reading a message from standard input, don't <b>-oi</b> When reading a message from standard input, don't
treat a line with only a <b>.</b> character as the end of treat a line with only a <b>.</b> character as the end of
input. input.
<b>-om</b> (ignored) <b>-om</b> (ignored)
The sender is never eliminated from alias etc. The sender is never eliminated from alias etc.
expansions. expansions.
<b>-o</b> <i>x</i> <i>value</i> (ignored) <b>-o</b> <i>x</i> <i>value</i> (ignored)
Set option <i>x</i> to <i>value</i>. Use the equivalent configu- Set option <i>x</i> to <i>value</i>. Use the equivalent configu-
ration parameter in <b>main.cf</b> instead. ration parameter in <b>main.cf</b> instead.
<b>-r</b> <i>sender</i> <b>-r</b> <i>sender</i>
Set the envelope sender address. This is the Set the envelope sender address. This is the
address where delivery problems are sent to, unless address where delivery problems are sent to, unless
the message contains an <b>Errors-To:</b> message header. the message contains an <b>Errors-To:</b> message header.
<b>-q</b> Attempt to deliver all queued mail. This is imple- <b>-q</b> Attempt to deliver all queued mail. This is imple-
mented by executing the <a href="postqueue.1.html"><b>postqueue</b>(1)</a> command. mented by executing the <a href="postqueue.1.html"><b>postqueue</b>(1)</a> command.
<b>-q</b><i>interval</i> (ignored) <b>-q</b><i>interval</i> (ignored)
The interval between queue runs. Use the The interval between queue runs. Use the
<b>queue</b><i>_</i><b>run</b><i>_</i><b>delay</b> configuration parameter instead. <b>queue</b><i>_</i><b>run</b><i>_</i><b>delay</b> configuration parameter instead.
<b>-qR</b><i>site</i> <b>-qR</b><i>site</i>
Schedule immediate delivery of all mail that is Schedule immediate delivery of all mail that is
queued for the named <i>site</i>. This option accepts only queued for the named <i>site</i>. This option accepts only
<i>site</i> names that are eligible for the "fast flush" <i>site</i> names that are eligible for the "fast flush"
service, and is implemented by executing the service, and is implemented by executing the
<a href="postqueue.1.html"><b>postqueue</b>(1)</a> command. See <a href="flushd.8.html"><b>flush</b>(8)</a> for more infor- <a href="postqueue.1.html"><b>postqueue</b>(1)</a> command. See <a href="flushd.8.html"><b>flush</b>(8)</a> for more infor-
mation about the "fast flush" service. mation about the "fast flush" service.
<b>-qS</b><i>site</i> <b>-qS</b><i>site</i>
This command is not implemented. Use the slower This command is not implemented. Use the slower
<b>sendmail</b> <b>-q</b> command instead. <b>sendmail</b> <b>-q</b> command instead.
<b>-t</b> Extract recipients from message headers. This <b>-t</b> Extract recipients from message headers. This
requires that no recipients be specified on the requires that no recipients be specified on the
command line. command line.
<b>-v</b> Enable verbose logging for debugging purposes. Mul- <b>-v</b> Enable verbose logging for debugging purposes. Mul-
tiple <b>-v</b> options make the software increasingly tiple <b>-v</b> options make the software increasingly
verbose. For compatibility with mailx and other verbose. For compatibility with mailx and other
mail submission software, a single <b>-v</b> option pro- mail submission software, a single <b>-v</b> option pro-
duces no output. duces no output.
<b>SECURITY</b> <b>SECURITY</b>
By design, this program is not set-user (or group) id. By design, this program is not set-user (or group) id.
However, it must handle data from untrusted users or However, it must handle data from untrusted users or
untrusted machines. Thus, the usual precautions need to untrusted machines. Thus, the usual precautions need to
be taken against malicious inputs. be taken against malicious inputs.
<b>DIAGNOSTICS</b> <b>DIAGNOSTICS</b>
Problems are logged to <b>syslogd</b>(8) and to the standard Problems are logged to <b>syslogd</b>(8) and to the standard
error stream. error stream.
<b>ENVIRONMENT</b> <b>ENVIRONMENT</b>
@@ -232,7 +233,7 @@ SENDMAIL(1) SENDMAIL(1)
<b>MAIL</b><i>_</i><b>DEBUG</b> <b>MAIL</b><i>_</i><b>DEBUG</b>
Enable debugging with an external command, as spec- Enable debugging with an external command, as spec-
ified with the <b>debugger</b><i>_</i><b>command</b> configuration ified with the <b>debugger</b><i>_</i><b>command</b> configuration
parameter. parameter.
<b>FILES</b> <b>FILES</b>
@@ -240,13 +241,13 @@ SENDMAIL(1) SENDMAIL(1)
/etc/postfix, configuration files /etc/postfix, configuration files
<b>CONFIGURATION</b> <b>PARAMETERS</b> <b>CONFIGURATION</b> <b>PARAMETERS</b>
See the Postfix <b>main.cf</b> file for syntax details and for See the Postfix <b>main.cf</b> file for syntax details and for
default values. Use the <b>postfix</b> <b>reload</b> command after a default values. Use the <b>postfix</b> <b>reload</b> command after a
configuration change. configuration change.
<b>alias</b><i>_</i><b>database</b> <b>alias</b><i>_</i><b>database</b>
Default alias database(s) for <b>newaliases</b>. The Default alias database(s) for <b>newaliases</b>. The
default value for this parameter is system-spe- default value for this parameter is system-spe-
cific. cific.
<b>bounce</b><i>_</i><b>size</b><i>_</i><b>limit</b> <b>bounce</b><i>_</i><b>size</b><i>_</i><b>limit</b>
@@ -262,41 +263,41 @@ SENDMAIL(1) SENDMAIL(1)
initialized. initialized.
<b>debug</b><i>_</i><b>peer</b><i>_</i><b>level</b> <b>debug</b><i>_</i><b>peer</b><i>_</i><b>level</b>
Increment in verbose logging level when a remote Increment in verbose logging level when a remote
host matches a pattern in the <b>debug</b><i>_</i><b>peer</b><i>_</i><b>list</b> host matches a pattern in the <b>debug</b><i>_</i><b>peer</b><i>_</i><b>list</b>
parameter. parameter.
<b>debug</b><i>_</i><b>peer</b><i>_</i><b>list</b> <b>debug</b><i>_</i><b>peer</b><i>_</i><b>list</b>
List of domain or network patterns. When a remote List of domain or network patterns. When a remote
host matches a pattern, increase the verbose log- host matches a pattern, increase the verbose log-
ging level by the amount specified in the ging level by the amount specified in the
<b>debug</b><i>_</i><b>peer</b><i>_</i><b>level</b> parameter. <b>debug</b><i>_</i><b>peer</b><i>_</i><b>level</b> parameter.
<b>default</b><i>_</i><b>verp</b><i>_</i><b>delimiters</b> <b>default</b><i>_</i><b>verp</b><i>_</i><b>delimiters</b>
The VERP delimiter characters that are used when The VERP delimiter characters that are used when
the <b>-V</b> command line option is specified without the <b>-V</b> command line option is specified without
delimiter characters. delimiter characters.
<b>fast</b><i>_</i><b>flush</b><i>_</i><b>domains</b> <b>fast</b><i>_</i><b>flush</b><i>_</i><b>domains</b>
List of domains that will receive "fast flush" ser- List of domains that will receive "fast flush" ser-
vice (default: all domains that this system is vice (default: all domains that this system is
willing to relay mail to). This list specifies the willing to relay mail to). This list specifies the
domains that Postfix accepts in the SMTP <b>ETRN</b> domains that Postfix accepts in the SMTP <b>ETRN</b>
request and in the <b>sendmail</b> <b>-qR</b> command. request and in the <b>sendmail</b> <b>-qR</b> command.
<b>fork</b><i>_</i><b>attempts</b> <b>fork</b><i>_</i><b>attempts</b>
Number of attempts to <b>fork</b>() a process before giv- Number of attempts to <b>fork</b>() a process before giv-
ing up. ing up.
<b>fork</b><i>_</i><b>delay</b> <b>fork</b><i>_</i><b>delay</b>
Delay in seconds between successive <b>fork</b>() Delay in seconds between successive <b>fork</b>()
attempts. attempts.
<b>hopcount</b><i>_</i><b>limit</b> <b>hopcount</b><i>_</i><b>limit</b>
Limit the number of <b>Received:</b> message headers. Limit the number of <b>Received:</b> message headers.
<b>mail</b><i>_</i><b>owner</b> <b>mail</b><i>_</i><b>owner</b>
The owner of the mail queue and of most Postfix The owner of the mail queue and of most Postfix
processes. processes.
<b>command</b><i>_</i><b>directory</b> <b>command</b><i>_</i><b>directory</b>
@@ -306,16 +307,16 @@ SENDMAIL(1) SENDMAIL(1)
Directory with Postfix daemon programs. Directory with Postfix daemon programs.
<b>queue</b><i>_</i><b>directory</b> <b>queue</b><i>_</i><b>directory</b>
Top-level directory of the Postfix queue. This is Top-level directory of the Postfix queue. This is
also the root directory of Postfix daemons that run also the root directory of Postfix daemons that run
chrooted. chrooted.
<b>queue</b><i>_</i><b>run</b><i>_</i><b>delay</b> <b>queue</b><i>_</i><b>run</b><i>_</i><b>delay</b>
The time between successive scans of the deferred The time between successive scans of the deferred
queue. queue.
<b>verp</b><i>_</i><b>delimiter</b><i>_</i><b>filter</b> <b>verp</b><i>_</i><b>delimiter</b><i>_</i><b>filter</b>
The characters that Postfix accepts as VERP delim- The characters that Postfix accepts as VERP delim-
iter characters. iter characters.
<b>SEE</b> <b>ALSO</b> <b>SEE</b> <b>ALSO</b>
@@ -331,7 +332,7 @@ SENDMAIL(1) SENDMAIL(1)
syslogd(8) system logging syslogd(8) system logging
<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

@@ -89,133 +89,141 @@ TRANSPORT(5) TRANSPORT(5)
Note 1: the special pattern <b>*</b> represents any address (i.e. Note 1: the special pattern <b>*</b> represents any address (i.e.
it functions as the wild-card pattern). it functions as the wild-card pattern).
Note 2: the null recipient address is looked up as the Note 2: the null recipient address is looked up as
local mailer-daemon address (mailer-daemon@fully-quali- <b>$empty</b><i>_</i><b>address</b><i>_</i><b>recipient</b>@<b>$myhostname</b> (default: mailer-dae-
fied-domain-name). mon@hostname).
<b>RESULT</b> <b>FORMAT</b> <b>RESULT</b> <b>FORMAT</b>
A null <i>transport</i> and null <i>nexthop</i> result means "do not The transport field specifies the name of a mail delivery
change": use the delivery transport and nexthop informa-
tion that would be used when the entire transport table
did not exist.
A non-null <i>transport</i> field with a null <i>nexthop</i> field
resets the nexthop information to the recipient domain.
A null <i>transport</i> field with non-null <i>nexthop</i> field does
not modify the transport information.
<b>TRANSPORT</b> <b>FIELD</b>
The transport field specifies the name of a mail delivery
transport (the first name of a mail delivery service entry transport (the first name of a mail delivery service entry
in the Postfix <b>master.cf</b> file). in the Postfix <b>master.cf</b> file).
When a null transport field is specified, Postfix uses one The interpretation of the nexthop field is transport
of the following transports:
<b>$local</b><i>_</i><b>transport</b>
The domain matches <b>$mydestination</b> or <b>$inet</b><i>_</i><b>inter-</b>
<b>faces</b>.
<b>$virtual</b><i>_</i><b>transport</b>
The domain matches <b>$virtual</b><i>_</i><b>mailbox</b><i>_</i><b>domains</b>.
<b>$relay</b><i>_</i><b>transport</b>
The domain matches <b>$relay</b><i>_</i><b>transport</b>.
<b>$default</b><i>_</i><b>transport</b>
All other non-local, non-virtual destinations.
<b>NEXTHOP</b> <b>FIELD</b>
The interpretation of the nexthop field is transport
dependent. In the case of SMTP, specify <i>host</i>:<i>service</i> for a dependent. In the case of SMTP, specify <i>host</i>:<i>service</i> for a
non-default server port, and use [<i>host</i>] or [<i>host</i>]:<i>port</i> in non-default server port, and use [<i>host</i>] or [<i>host</i>]:<i>port</i> in
order to disable MX (mail exchanger) DNS lookups. The [] order to disable MX (mail exchanger) DNS lookups. The []
form can also be used with IP addresses instead of host- form can also be used with IP addresses instead of host-
names. names.
A null <i>transport</i> and null <i>nexthop</i> result means "do not
change": use the delivery transport and nexthop informa-
tion that would be used when the entire transport table
did not exist.
A non-null <i>transport</i> field with a null <i>nexthop</i> field
resets the nexthop information to the recipient domain.
A null <i>transport</i> field with non-null <i>nexthop</i> field does
not modify the transport information.
<b>DEFAULT</b> <b>DELIVERY</b> <b>METHOD</b>
When the recipient address or domain does not match a
transport table entry, Postfix uses one of the following
delivery methods, with the recipient domain as the default
nexthop.
<b>o</b> The recipient domain matches <b>$mydestination</b> or
<b>$inet</b><i>_</i><b>interfaces</b>. The transport and optional nex-
thop are specified with <b>$local</b><i>_</i><b>transport</b>.
<b>o</b> The recipient domain matches <b>$virtual</b><i>_</i><b>mail-</b>
<b>box</b><i>_</i><b>domains</b>. The transport and optional nexthop
are specified with <b>$virtual</b><i>_</i><b>transport</b>.
<b>o</b> The recipient domain matches <b>$relay</b><i>_</i><b>domains</b>. The
transport and optional nexthop are specified with
<b>$relay</b><i>_</i><b>transport</b>. This overrides the nexthop infor-
mation that is specified with <b>$relayhost</b>.
<b>o</b> All other destinations. the transport and optional
nexthop are specified with <b>$relay</b><i>_</i><b>transport</b>. This
overrides the nexthop information that is specified
with <b>$relayhost</b>.
<b>EXAMPLES</b> <b>EXAMPLES</b>
In order to deliver internal mail directly, while using a In order to deliver internal mail directly, while using a
mail relay for all other mail, specify a null entry for mail relay for all other mail, specify a null entry for
internal destinations (do not change the delivery trans- internal destinations (do not change the delivery trans-
port or the nexthop information) and specify a wildcard port or the nexthop information) and specify a wildcard
for all other destinations. Note that for this trick to for all other destinations.
work you should not specify a <b>relayhost</b> in the <b>main.cf</b>
file.
<b>my.domain</b> <b>:</b> <b>my.domain</b> <b>:</b>
<b>.my.domain</b> <b>:</b> <b>.my.domain</b> <b>:</b>
<b>*</b> <b>smtp:outbound-relay.my.domain</b> <b>*</b> <b>smtp:outbound-relay.my.domain</b>
In order to send mail for <b>foo.org</b> and its subdomains via In order to send mail for <b>foo.org</b> and its subdomains via
the <b>uucp</b> transport to the UUCP host named <b>foo</b>: the <b>uucp</b> transport to the UUCP host named <b>foo</b>:
<b>foo.org</b> <b>uucp:foo</b> <b>foo.org</b> <b>uucp:foo</b>
<b>.foo.org</b> <b>uucp:foo</b> <b>.foo.org</b> <b>uucp:foo</b>
When no nexthop host name is specified, the destination When no nexthop host name is specified, the destination
domain name is used instead. For example, the following domain name is used instead. For example, the following
directs mail for <i>user</i>@<b>foo.org</b> via the <b>slow</b> transport to a directs mail for <i>user</i>@<b>foo.org</b> via the <b>slow</b> transport to a
mail exchanger for <b>foo.org</b>. The <b>slow</b> transport could be mail exchanger for <b>foo.org</b>. The <b>slow</b> transport could be
something that runs at most one delivery process at a something that runs at most one delivery process at a
time: time:
<b>foo.org</b> <b>slow:</b> <b>foo.org</b> <b>slow:</b>
When no transport is specified, Postfix uses the transport When no transport is specified, Postfix uses the transport
that matches the address domain class (see TRANSPORT FIELD that matches the address domain class (see TRANSPORT FIELD
discussion above). The following sends all mail for discussion above). The following sends all mail for
<b>foo.org</b> and its subdomains to host <b>gateway.foo.org</b>: <b>foo.org</b> and its subdomains to host <b>gateway.foo.org</b>:
<b>foo.org</b> <b>:[gateway.foo.org]</b> <b>foo.org</b> <b>:[gateway.foo.org]</b>
<b>.foo.org</b> <b>:[gateway.foo.org]</b> <b>.foo.org</b> <b>:[gateway.foo.org]</b>
In the above example, the [] are used to suppress MX In the above example, the [] are used to suppress MX
lookups. The result would likely point to your local lookups. The result would likely point to your local
machine. machine.
In the case of delivery via SMTP, one may specify <i>host-</i> In the case of delivery via SMTP, one may specify <i>host-</i>
<i>name</i>:<i>service</i> instead of just a host: <i>name</i>:<i>service</i> instead of just a host:
<b>foo.org</b> <b>smtp:bar.org:2025</b> <b>foo.org</b> <b>smtp:bar.org:2025</b>
This directs mail for <i>user</i>@<b>foo.org</b> to host <b>bar.org</b> port This directs mail for <i>user</i>@<b>foo.org</b> to host <b>bar.org</b> port
<b>2025</b>. Instead of a numerical port a symbolic name may be <b>2025</b>. Instead of a numerical port a symbolic name may be
used. Specify [] around the hostname in order to disable used. Specify [] around the hostname in order to disable
MX lookups. MX lookups.
The error mailer can be used to bounce mail: The error mailer can be used to bounce mail:
<b>.foo.org</b> <b>error:mail</b> <b>for</b> <b>*.foo.org</b> <b>is</b> <b>not</b> <b>deliv-</b> <b>.foo.org</b> <b>error:mail</b> <b>for</b> <b>*.foo.org</b> <b>is</b> <b>not</b> <b>deliv-</b>
<b>erable</b> <b>erable</b>
This causes all mail for <i>user</i>@<i>anything</i><b>.foo.org</b> to be This causes all mail for <i>user</i>@<i>anything</i><b>.foo.org</b> to be
bounced. bounced.
<b>REGULAR</b> <b>EXPRESSION</b> <b>TABLES</b> <b>REGULAR</b> <b>EXPRESSION</b> <b>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</b><i>_</i><b>table</b>(5)</a> or <a href="pcre_table.5.html"><b>pcre</b><i>_</i><b>table</b>(5)</a>. see <a href="regexp_table.5.html"><b>regexp</b><i>_</i><b>table</b>(5)</a> or <a href="pcre_table.5.html"><b>pcre</b><i>_</i><b>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 domain being looked up. Thus, <i>some.domain.hier-</i> the entire domain being looked up. Thus, <i>some.domain.hier-</i>
<i>archy</i> is not broken up into parent domains. <i>archy</i> is not broken up into parent domains.
Patterns are applied in the order as specified in the Patterns are applied in the order as specified in the
table, until a pattern is found that matches the search table, until a pattern is found that matches the search
string. string.
Results are the same as with indexed file lookups, with Results 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>CONFIGURATION</b> <b>PARAMETERS</b> <b>CONFIGURATION</b> <b>PARAMETERS</b>
The following <b>main.cf</b> parameters are especially relevant The following <b>main.cf</b> parameters are especially relevant
to this topic. See the Postfix <b>main.cf</b> file for syntax to this topic. See the Postfix <b>main.cf</b> file for syntax
details and for default values. Use the <b>postfix</b> <b>reload</b> details and for default values. Use the <b>postfix</b> <b>reload</b>
command after a configuration change. command after a configuration change.
<b>empty</b><i>_</i><b>address</b><i>_</i><b>recipient</b>
The address that is looked up instead of the null
sender address.
<b>parent</b><i>_</i><b>domain</b><i>_</i><b>matches</b><i>_</i><b>subdomains</b> <b>parent</b><i>_</i><b>domain</b><i>_</i><b>matches</b><i>_</i><b>subdomains</b>
List of Postfix features that use <i>domain.tld</i> pat- List of Postfix features that use <i>domain.tld</i> pat-
terns to match <i>sub.domain.tld</i> (as opposed to terns to match <i>sub.domain.tld</i> (as opposed to

View File

@@ -30,8 +30,8 @@ TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8)
field of an entry in the <b>master.cf</b> file. field of an entry in the <b>master.cf</b> file.
<i>nexthop</i> <i>nexthop</i>
The host to send to. For local delivery this The host to send to and optional delivery
is an empty string. method information.
<i>recipient</i> <i>recipient</i>
The envelope recipient address that is The envelope recipient address that is
@@ -66,11 +66,16 @@ TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8)
command after a configuration change. command after a configuration change.
<b>Miscellaneous</b> <b>Miscellaneous</b>
<b>empty</b><i>_</i><b>address</b><i>_</i><b>recipient</b>
The recipient that is substituted for the null
address.
<b>inet</b><i>_</i><b>interfaces</b> <b>inet</b><i>_</i><b>interfaces</b>
The network interfaces that this mail system The network interfaces that this mail system
receives mail on. This information is used to receives mail on. This information is used to
determine if <i>user</i>@[<i>net.work.addr.ess</i>] is local or determine if <i>user</i>@[<i>net.work.addr.ess</i>] is local or
remote. remote. Mail for local users is given to the
<b>$local</b><i>_</i><b>transport</b>.
<b>mydestination</b> <b>mydestination</b>
List of domains that are given to the <b>$local</b><i>_</i><b>trans-</b> List of domains that are given to the <b>$local</b><i>_</i><b>trans-</b>

View File

@@ -19,8 +19,8 @@ VIRTUAL(5) VIRTUAL(5)
The main applications of virtual aliasing are: The main applications of virtual aliasing are:
<b>o</b> To redirect mail from one address to one or more <b>o</b> To redirect mail for one address to one or more
other addresses. addresses.
<b>o</b> To simulate virtual domains where all virtual <b>o</b> To simulate virtual domains where all virtual
addresses are aliased to non-virtual addresses. addresses are aliased to non-virtual addresses.
@@ -50,56 +50,6 @@ VIRTUAL(5) VIRTUAL(5)
sions. In that case, the lookups are done in a slightly sions. In that case, the lookups are done in a slightly
different way as described below. different way as described below.
<b>SIMULATED</b> <b>VIRTUAL</b> <b>DOMAINS</b>
Besides virtual aliases, the virtual alias table can also
be used to simulate virtual domains. With a simulated vir-
tual domain, all recipient addresses are aliased to non-
virtual addresses. These non-virtual addresses may be
either local or remote.
Simulated virtual domains are not to be confused with the
true virtual domains that are implemented with the Postfix
<a href="virtual.8.html"><b>virtual</b>(8)</a> mail delivery agent. With true virtual domains,
each recipient address can have its own mailbox.
With a simulated virtual domain, the virtual domain has
its own user name space. Local (i.e. non-virtual) user-
names are not visible in a simulated virtual domain. In
particular, local <a href="aliases.5.html"><b>aliases</b>(5)</a> and local mailing lists are
not visible as <i>localname@simulated.domain</i>.
Support for a simulated virtual domain looks like:
/etc/postfix/main.cf:
virtual_alias_maps = hash:/etc/postfix/virtual
Note: some systems use <b>dbm</b> databases instead of <b>hash</b>.
See the output from <b>postconf</b> <b>-m</b> for available database
types.
/etc/postfix/virtual:
<i>simulated.domain</i> <i>anything</i> (right-hand content does not matter)
<i>postmaster@simulated.domain</i> <i>postmaster</i>
<i>user1@simulated.domain</i> <i>address1</i>
<i>user2@simulated.domain</i> <i>address2,</i> <i>address3</i>
The <i>simulated.domain</i> <i>anything</i> entry is required for a sim-
ulated virtual domain. Without this entry, mail will be
rejected with a "relay access denied" error condition.
Do not list a simulated virtual domain name in the <b>main.cf</b>
<b>mydestination</b> configuration parameter.
With a simulated virtual domain, the Postfix SMTP server
accepts mail for <i>known-user@simulated.domain</i>, and rejects
mail for <i>unknown-user</i>@<i>simulated.domain</i> as undeliverable.
Instead of specifying the simulated virtual domain name
via the <b>virtual</b><i>_</i><b>alias</b><i>_</i><b>maps</b> table, you may also specify it
via the <b>main.cf</b> <b>virtual</b><i>_</i><b>alias</b><i>_</i><b>domains</b> configuration param-
eter. This latter parameter uses the same syntax as the
<b>main.cf</b> <b>mydestination</b> configuration parameter.
<b>TABLE</b> <b>FORMAT</b> <b>TABLE</b> <b>FORMAT</b>
The format of the virtual table is as follows, mappings The format of the virtual table is as follows, mappings
being tried in the order as listed in this manual page: being tried in the order as listed in this manual page:
@@ -152,6 +102,56 @@ VIRTUAL(5) VIRTUAL(5)
@<i>domain</i>. An unmatched address extension (<i>+foo</i>) is propa- @<i>domain</i>. An unmatched address extension (<i>+foo</i>) is propa-
gated to the result of table lookup. gated to the result of table lookup.
<b>SIMULATED</b> <b>VIRTUAL</b> <b>DOMAINS</b>
Besides virtual aliases, the virtual alias table can also
be used to simulate virtual domains. With a simulated vir-
tual domain, all recipient addresses are aliased to non-
virtual addresses. These non-virtual addresses may be
either local or remote.
Simulated virtual domains are not to be confused with the
true virtual domains that are implemented with the Postfix
<a href="virtual.8.html"><b>virtual</b>(8)</a> mail delivery agent. With true virtual domains,
each recipient address can have its own mailbox.
With a simulated virtual domain, the virtual domain has
its own user name space. Local (i.e. non-virtual) user-
names are not visible in a simulated virtual domain. In
particular, local <a href="aliases.5.html"><b>aliases</b>(5)</a> and local mailing lists are
not visible as <i>localname@simulated.domain</i>.
Support for a simulated virtual domain looks like:
/etc/postfix/main.cf:
virtual_alias_maps = hash:/etc/postfix/virtual
Note: some systems use <b>dbm</b> databases instead of <b>hash</b>.
See the output from <b>postconf</b> <b>-m</b> for available database
types.
/etc/postfix/virtual:
<i>simulated.domain</i> <i>anything</i> (right-hand content does not matter)
<i>postmaster@simulated.domain</i> <i>postmaster</i>
<i>user1@simulated.domain</i> <i>address1</i>
<i>user2@simulated.domain</i> <i>address2,</i> <i>address3</i>
The <i>simulated.domain</i> <i>anything</i> entry is required for a sim-
ulated virtual domain. Without this entry, mail will be
rejected with a "relay access denied" error condition.
Do not list a simulated virtual domain name in the <b>main.cf</b>
<b>mydestination</b> configuration parameter.
With a simulated virtual domain, the Postfix SMTP server
accepts mail for <i>known-user@simulated.domain</i>, and rejects
mail for <i>unknown-user</i>@<i>simulated.domain</i> as undeliverable.
Instead of specifying the simulated virtual domain name
via the <b>virtual</b><i>_</i><b>alias</b><i>_</i><b>maps</b> table, you may also specify it
via the <b>main.cf</b> <b>virtual</b><i>_</i><b>alias</b><i>_</i><b>domains</b> configuration param-
eter. This latter parameter uses the same syntax as the
<b>main.cf</b> <b>mydestination</b> configuration parameter.
<b>REGULAR</b> <b>EXPRESSION</b> <b>TABLES</b> <b>REGULAR</b> <b>EXPRESSION</b> <b>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

View File

@@ -40,9 +40,11 @@ VIRTUAL(8) VIRTUAL(8)
The <b>virtual</b> delivery agent prepends a "<b>From</b> <i>sender</i> The <b>virtual</b> delivery agent prepends a "<b>From</b> <i>sender</i>
<i>time_stamp</i>" envelope header to each message, prepends a <i>time_stamp</i>" envelope header to each message, prepends a
<b>Delivered-To:</b> message header with the envelope recipient <b>Delivered-To:</b> message header with the envelope recipient
address, prepends a <b>Return-Path:</b> message header with the address, prepends an <b>X-Original-To:</b> header with the recip-
envelope sender address, prepends a &gt; character to lines ient address as given to Postfix, prepends a <b>Return-Path:</b>
beginning with "<b>From</b> ", and appends an empty line. message header with the envelope sender address, prepends
a &gt; character to lines beginning with "<b>From</b> ", and appends
an empty line.
The mailbox is locked for exclusive access while delivery The mailbox is locked for exclusive access while delivery
is in progress. In case of problems, an attempt is made to is in progress. In case of problems, an attempt is made to

View File

@@ -49,7 +49,7 @@ a map.
.IP \fB-i\fR .IP \fB-i\fR
Incremental mode. Read entries from standard input and do not Incremental mode. Read entries from standard input and do not
truncate an existing database. By default, \fBpostalias\fR creates truncate an existing database. By default, \fBpostalias\fR creates
a new database from the entries in \fBfile_name\fR. a new database from the entries in \fIfile_name\fR.
.IP \fB-n\fR .IP \fB-n\fR
Don't include the terminating null character that terminates lookup Don't include the terminating null character that terminates lookup
keys and values. By default, Postfix does whatever is the default for keys and values. By default, Postfix does whatever is the default for
@@ -101,7 +101,7 @@ parameter.
The default value for this parameter depends on the host environment. The default value for this parameter depends on the host environment.
.RE .RE
.IP \fIfile_name\fR .IP \fIfile_name\fR
The name of the alias database source file when rebuilding a database. The name of the alias database source file when creating a database.
.SH DIAGNOSTICS .SH DIAGNOSTICS
.ad .ad
.fi .fi
@@ -129,8 +129,8 @@ Enable verbose logging for debugging purposes.
The following \fBmain.cf\fR parameters are especially relevant to The following \fBmain.cf\fR parameters are especially relevant to
this program. See the Postfix \fBmain.cf\fR file for syntax details this program. See the Postfix \fBmain.cf\fR file for syntax details
and for default values. and for default values.
.IP \fdefault_Bdatabase_type\fR .IP \fBdefault_database_type\fR
Default alias database type. On many UNIX systems, the default type Default database type. On many UNIX systems, the default type
is either \fBdbm\fR or \fBhash\fR. is either \fBdbm\fR or \fBhash\fR.
.IP \fBberkeley_db_create_buffer_size\fR .IP \fBberkeley_db_create_buffer_size\fR
Amount of buffer memory to be used when creating a Berkeley DB Amount of buffer memory to be used when creating a Berkeley DB

View File

@@ -18,7 +18,7 @@ Postfix configuration utility
.ad .ad
.fi .fi
The \fBpostconf\fR command prints the actual value of The \fBpostconf\fR command prints the actual value of
\fIparameter\fR (all known parameters by default), one \fIparameter\fR (all known parameters by default) one
parameter per line, changes its value, or prints other parameter per line, changes its value, or prints other
information about the Postfix mail system. information about the Postfix mail system.

View File

@@ -9,8 +9,7 @@ Postfix control program
.na .na
.nf .nf
.fi .fi
\fBpostfix\fR [\fB-c \fIconfig_dir\fR] [\fB-D\fR] [\fB-v\fR] \fBpostfix\fR [\fB-Dv\fR] [\fB-c \fIconfig_dir\fR] \fIcommand\fR
\fIcommand\fR
.SH DESCRIPTION .SH DESCRIPTION
.ad .ad
.fi .fi
@@ -67,21 +66,17 @@ options make the software increasingly verbose.
.nf .nf
.ad .ad
.fi .fi
The \fBpostfix\fR command sets the following environment The \fBpostfix\fR command exports the following environment
variables: variables before executing the \fBpostfix-script\fR file:
.IP \fBMAIL_CONFIG\fR .IP \fBMAIL_CONFIG\fR
Directory with Postfix configuration files. This is set when the -c command-line option is present.
.IP \fBMAIL_VERBOSE\fR .IP \fBMAIL_VERBOSE\fR
This is set when the -v command-line option is present. This is set when the -v command-line option is present.
.IP \fBMAIL_DEBUG\fR .IP \fBMAIL_DEBUG\fR
This is set when the -D command-line option is present. This is set when the -D command-line option is present.
.SH CONFIGURATION PARAMETERS .PP
.na The following \fBmain.cf\fR configuration parameters are
.nf exported as environment variables with the same names:
.ad
.fi
The following \fBmain.cf\fR configuration parameters are made
available as process environment variables with the same names:
.IP \fBcommand_directory\fR .IP \fBcommand_directory\fR
Directory with Postfix administrative commands. Directory with Postfix administrative commands.
.IP \fBdaemon_directory\fR .IP \fBdaemon_directory\fR
@@ -98,11 +93,11 @@ The owner of Postfix queue files and of most Postfix processes.
.IP \fBsetgid_group\fR .IP \fBsetgid_group\fR
The group for mail submission and queue management commands. The group for mail submission and queue management commands.
.IP \fBsendmail_path .IP \fBsendmail_path
The full pathname for the Postfix sendmail command. The full pathname for the Postfix \fBsendmail\fR command.
.IP \fBnewaliases_path .IP \fBnewaliases_path
The full pathname for the Postfix newaliases command. The full pathname for the Postfix \fBnewaliases\fR command.
.IP \fBmailq_path .IP \fBmailq_path
The full pathname for the Postfix mailq command. The full pathname for the Postfix \fBmailq\fR command.
.IP \fBmanpage_directory .IP \fBmanpage_directory
The directory for the Postfix on-line manual pages. The directory for the Postfix on-line manual pages.
.IP \fBsample_directory .IP \fBsample_directory

View File

@@ -140,8 +140,8 @@ Non-default alias database. Specify \fIpathname\fR or
details. details.
.IP "\fB-o7\fR (ignored)" .IP "\fB-o7\fR (ignored)"
.IP "\fB-o8\fR (ignored)" .IP "\fB-o8\fR (ignored)"
The message body type. Currently, Postfix implements To send 8-bit or binary content, use an appropriate MIME encapsulation
\fBjust-send-eight\fR. and specify the appropriate \fB-B\fR command-line option.
.IP "\fB-oi\fR" .IP "\fB-oi\fR"
When reading a message from standard input, don\'t treat a line When reading a message from standard input, don\'t treat a line
with only a \fB.\fR character as the end of input. with only a \fB.\fR character as the end of input.

View File

@@ -125,7 +125,7 @@ Accept the address etc. that matches the pattern.
An all-numerical result is treated as OK. This format is An all-numerical result is treated as OK. This format is
generated by address-based relay authorization schemes. generated by address-based relay authorization schemes.
.IP \fBDUNNO\fR .IP \fBDUNNO\fR
Pretend that the lookup key was not found in this table, to Pretend that the lookup key was not found in this table. This
prevents Postfix from trying substrings of the lookup key prevents Postfix from trying substrings of the lookup key
(such as a subdomain name, or a network address subnetwork). (such as a subdomain name, or a network address subnetwork).
.IP \fBHOLD\fR .IP \fBHOLD\fR

View File

@@ -71,7 +71,7 @@ listed below:
\fIuser\fR@\fIdomain\fR is replaced by \fIaddress\fR. This form \fIuser\fR@\fIdomain\fR is replaced by \fIaddress\fR. This form
has the highest precedence. has the highest precedence.
.sp .sp
This form useful to clean up addresses produced by legacy mail systems. This is useful to clean up addresses produced by legacy mail systems.
It can also be used to produce \fIFirstname.Lastname\fR style It can also be used to produce \fIFirstname.Lastname\fR style
addresses, but see below for a simpler solution. addresses, but see below for a simpler solution.
.IP "\fIuser address\fR" .IP "\fIuser address\fR"

View File

@@ -57,7 +57,7 @@ Toggles the case sensitivity flag. By default, matching is case
insensitive. insensitive.
.IP "\fBm\fR (default: off)" .IP "\fBm\fR (default: off)"
Toggles the PCRE_MULTILINE flag. When this flag is on, the \fB^\fR Toggles the PCRE_MULTILINE flag. When this flag is on, the \fB^\fR
and \fb$\fR metacharacters match immediately after and immediately and \fB$\fR metacharacters match immediately after and immediately
before a newline character, respectively, in addition to before a newline character, respectively, in addition to
matching at the start and end of the subject string. matching at the start and end of the subject string.
.IP "\fBs\fR (default: on)" .IP "\fBs\fR (default: on)"

View File

@@ -59,6 +59,8 @@ such as \fBsmtp\fR or \fBlocal\fR. The \fInexthop\fR field
specifies where and how to deliver mail. More details are given specifies where and how to deliver mail. More details are given
in section "RESULT FORMAT". in section "RESULT FORMAT".
.SH TABLE LOOKUP .SH TABLE LOOKUP
.na
.nf
.ad .ad
.fi .fi
With lookups from indexed files such as DB or DBM, or from networked With lookups from indexed files such as DB or DBM, or from networked
@@ -84,11 +86,23 @@ Otherwise, a domain name matches itself and its subdomains.
Note 1: the special pattern \fB*\fR represents any address (i.e. it Note 1: the special pattern \fB*\fR represents any address (i.e. it
functions as the wild-card pattern). functions as the wild-card pattern).
Note 2: the null recipient address is looked up as the local Note 2: the null recipient address is looked up as
mailer-daemon address (mailer-daemon@fully-qualified-domain-name). \fB$empty_address_recipient\fR@\fB$myhostname\fR (default:
mailer-daemon@hostname).
.SH RESULT FORMAT .SH RESULT FORMAT
.na
.nf
.ad .ad
.fi .fi
The transport field specifies the name of a mail delivery transport
(the first name of a mail delivery service entry in the Postfix
\fBmaster.cf\fR file).
The interpretation of the nexthop field is transport
dependent. In the case of SMTP, specify \fIhost\fR:\fIservice\fR for a
non-default server port, and use [\fIhost\fR] or [\fIhost\fR]:\fIport\fR
in order to disable MX (mail exchanger) DNS lookups. The [] form
can also be used with IP addresses instead of hostnames.
A null \fItransport\fR and null \fInexthop\fR result means "do A null \fItransport\fR and null \fInexthop\fR result means "do
not change": use the delivery transport and nexthop information not change": use the delivery transport and nexthop information
@@ -99,31 +113,32 @@ resets the nexthop information to the recipient domain.
A null \fItransport\fR field with non-null \fInexthop\fR field A null \fItransport\fR field with non-null \fInexthop\fR field
does not modify the transport information. does not modify the transport information.
.SH TRANSPORT FIELD .SH DEFAULT DELIVERY METHOD
.na
.nf
.ad .ad
.fi .fi
The transport field specifies the name of a mail delivery transport When the recipient address or domain does not match a transport
(the first name of a mail delivery service entry in the Postfix table entry, Postfix uses one of the following delivery methods,
\fBmaster.cf\fR file). with the recipient domain as the default nexthop.
.IP \(bu
When a null transport field is specified, Postfix uses one of the The recipient domain matches \fB$mydestination\fR or
following transports: \fB$inet_interfaces\fR. The transport and optional nexthop
.IP \fB$local_transport\fR are specified with \fB$local_transport\fR.
The domain matches \fB$mydestination\fR or \fB$inet_interfaces\fR. .IP \(bu
.IP \fB$virtual_transport\fR The recipient domain matches \fB$virtual_mailbox_domains\fR.
The domain matches \fB$virtual_mailbox_domains\fR. The transport and optional nexthop are specified with
.IP \fB$relay_transport\fR \fB$virtual_transport\fR.
The domain matches \fB$relay_transport\fR. .IP \(bu
.IP \fB$default_transport\fR The recipient domain matches \fB$relay_domains\fR. The
All other non-local, non-virtual destinations. transport and optional nexthop are specified with
.SH NEXTHOP FIELD \fB$relay_transport\fR. This overrides the nexthop information
.ad that is specified with \fB$relayhost\fR.
.fi .IP \(bu
The interpretation of the nexthop field is transport All other destinations. the transport and optional nexthop are
dependent. In the case of SMTP, specify \fIhost\fR:\fIservice\fR for a specified with \fB$relay_transport\fR.
non-default server port, and use [\fIhost\fR] or [\fIhost\fR]:\fIport\fR This overrides the nexthop information that is specified with
in order to disable MX (mail exchanger) DNS lookups. The [] form \fB$relayhost\fR.
can also be used with IP addresses instead of hostnames.
.SH EXAMPLES .SH EXAMPLES
.na .na
.nf .nf
@@ -133,8 +148,7 @@ In order to deliver internal mail directly, while using a
mail relay for all other mail, specify a null entry for mail relay for all other mail, specify a null entry for
internal destinations (do not change the delivery transport or internal destinations (do not change the delivery transport or
the nexthop information) and specify a wildcard for all other the nexthop information) and specify a wildcard for all other
destinations. Note that for this trick to work you should destinations.
not specify a \fBrelayhost\fR in the \fBmain.cf\fR file.
.ti +5 .ti +5
\fB\&my.domain :\fR \fB\&my.domain :\fR
@@ -219,6 +233,8 @@ The following \fBmain.cf\fR parameters are especially relevant to
this topic. See the Postfix \fBmain.cf\fR file for syntax details this topic. See the Postfix \fBmain.cf\fR file for syntax details
and for default values. Use the \fBpostfix reload\fR command after and for default values. Use the \fBpostfix reload\fR command after
a configuration change. a configuration change.
.IP \fBempty_address_recipient\fR
The address that is looked up instead of the null sender address.
.IP \fBparent_domain_matches_subdomains\fR .IP \fBparent_domain_matches_subdomains\fR
List of Postfix features that use \fIdomain.tld\fR patterns List of Postfix features that use \fIdomain.tld\fR patterns
to match \fIsub.domain.tld\fR (as opposed to to match \fIsub.domain.tld\fR (as opposed to

View File

@@ -22,7 +22,7 @@ is recursive, and is done by the Postfix \fBcleanup\fR(8) daemon.
The main applications of virtual aliasing are: The main applications of virtual aliasing are:
.IP \(bu .IP \(bu
To redirect mail from one address to one or more other addresses. To redirect mail for one address to one or more addresses.
.IP \(bu .IP \(bu
To simulate virtual domains where all virtual addresses are aliased To simulate virtual domains where all virtual addresses are aliased
to non-virtual addresses. to non-virtual addresses.
@@ -49,6 +49,54 @@ or SQL, the same lookups are done as for ordinary indexed files.
Alternatively, the table can be provided as a regular-expression Alternatively, the table can be provided as a regular-expression
map where patterns are given as regular expressions. In that case, map where patterns are given as regular expressions. In that case,
the lookups are done in a slightly different way as described below. the lookups are done in a slightly different way as described below.
.SH TABLE FORMAT
.na
.nf
.ad
.fi
The format of the virtual table is as follows, mappings being
tried in the order as listed in this manual page:
.IP "\fIpattern result\fR"
When \fIpattern\fR matches a mail address, replace it by the
corresponding \fIresult\fR.
.IP "blank lines and comments"
Empty lines and whitespace-only lines are ignored, as
are lines whose first non-whitespace character is a `#'.
.IP "multi-line text"
A logical line starts with non-whitespace text. A line that
starts with whitespace continues a logical line.
.PP
With lookups from indexed files such as DB or DBM, or from networked
tables such as NIS, LDAP or SQL, patterns are tried in the order as
listed below:
.IP "\fIuser\fR@\fIdomain address, address, ...\fR"
Mail for \fIuser\fR@\fIdomain\fR is redirected to \fIaddress\fR.
This form has the highest precedence.
.IP "\fIuser address, address, ...\fR"
Mail for \fIuser\fR@\fIsite\fR is redirected to \fIaddress\fR when
\fIsite\fR is equal to $\fBmyorigin\fR, when \fIsite\fR is listed in
$\fRmydestination\fR, or when it is listed in $\fIinet_interfaces\fR.
.sp
This functionality overlaps with functionality of the local
\fIaliases\fR(5) database. The difference is that \fBvirtual\fR
mapping can be applied to non-local addresses.
.IP "@\fIdomain address, address, ...\fR"
Mail for any user in \fIdomain\fR is redirected to \fIaddress\fR.
This form has the lowest precedence.
.PP
In all the above forms, when \fIaddress\fR has the form
@\fIotherdomain\fR, the result is the same user in \fIotherdomain\fR.
This works for the first address in the expansion only.
.SH ADDRESS EXTENSION
.na
.nf
.fi
.ad
When a mail address localpart contains the optional recipient delimiter
(e.g., \fIuser+foo\fR@\fIdomain\fR), the lookup order becomes:
\fIuser+foo\fR@\fIdomain\fR, \fIuser\fR@\fIdomain\fR, \fIuser+foo\fR,
\fIuser\fR, and @\fIdomain\fR. An unmatched address extension
(\fI+foo\fR) is propagated to the result of table lookup.
.SH SIMULATED VIRTUAL DOMAINS .SH SIMULATED VIRTUAL DOMAINS
.na .na
.nf .nf
@@ -108,54 +156,6 @@ the \fBvirtual_alias_maps\fR table, you may also specify it via
the \fBmain.cf virtual_alias_domains\fR configuration parameter. the \fBmain.cf virtual_alias_domains\fR configuration parameter.
This latter parameter uses the same syntax as the \fBmain.cf This latter parameter uses the same syntax as the \fBmain.cf
mydestination\fR configuration parameter. mydestination\fR configuration parameter.
.SH TABLE FORMAT
.na
.nf
.ad
.fi
The format of the virtual table is as follows, mappings being
tried in the order as listed in this manual page:
.IP "\fIpattern result\fR"
When \fIpattern\fR matches a mail address, replace it by the
corresponding \fIresult\fR.
.IP "blank lines and comments"
Empty lines and whitespace-only lines are ignored, as
are lines whose first non-whitespace character is a `#'.
.IP "multi-line text"
A logical line starts with non-whitespace text. A line that
starts with whitespace continues a logical line.
.PP
With lookups from indexed files such as DB or DBM, or from networked
tables such as NIS, LDAP or SQL, patterns are tried in the order as
listed below:
.IP "\fIuser\fR@\fIdomain address, address, ...\fR"
Mail for \fIuser\fR@\fIdomain\fR is redirected to \fIaddress\fR.
This form has the highest precedence.
.IP "\fIuser address, address, ...\fR"
Mail for \fIuser\fR@\fIsite\fR is redirected to \fIaddress\fR when
\fIsite\fR is equal to $\fBmyorigin\fR, when \fIsite\fR is listed in
$\fRmydestination\fR, or when it is listed in $\fIinet_interfaces\fR.
.sp
This functionality overlaps with functionality of the local
\fIaliases\fR(5) database. The difference is that \fBvirtual\fR
mapping can be applied to non-local addresses.
.IP "@\fIdomain address, address, ...\fR"
Mail for any user in \fIdomain\fR is redirected to \fIaddress\fR.
This form has the lowest precedence.
.PP
In all the above forms, when \fIaddress\fR has the form
@\fIotherdomain\fR, the result is the same user in \fIotherdomain\fR.
This works for the first address in the expansion only.
.SH ADDRESS EXTENSION
.na
.nf
.fi
.ad
When a mail address localpart contains the optional recipient delimiter
(e.g., \fIuser+foo\fR@\fIdomain\fR), the lookup order becomes:
\fIuser+foo\fR@\fIdomain\fR, \fIuser\fR@\fIdomain\fR, \fIuser+foo\fR,
\fIuser\fR, and @\fIdomain\fR. An unmatched address extension
(\fI+foo\fR) is propagated to the result of table lookup.
.SH REGULAR EXPRESSION TABLES .SH REGULAR EXPRESSION TABLES
.na .na
.nf .nf

View File

@@ -164,9 +164,11 @@ Address mapping lookup table for envelope recipient addresses.
.ad .ad
.fi .fi
.IP \fBduplicate_filter_limit\fR .IP \fBduplicate_filter_limit\fR
Limit the number of envelope recipients that are remembered. Limits the number of envelope recipients that are remembered.
.IP \fBheader_address_token_limit\fR
Limits the number of address tokens used to process a message header.
.IP \fBheader_size_limit\fR .IP \fBheader_size_limit\fR
Limit the amount of memory in bytes used to process a message header. Limits the amount of memory in bytes used to process a message header.
.IP \fBin_flow_delay\fR .IP \fBin_flow_delay\fR
Amount of time to pause before accepting a message, when the Amount of time to pause before accepting a message, when the
message arrival rate exceeds the message delivery rate. message arrival rate exceeds the message delivery rate.

View File

@@ -185,8 +185,9 @@ The entire recipient address.
The entire sender address. The entire sender address.
.PP .PP
The \fBPATH\fR environment variable is always reset to a The \fBPATH\fR environment variable is always reset to a
system-dependent default path, and the \fBTZ\fR (time zone) system-dependent default path, and environment variables
environment variable is always passed on without change. whose names are blessed by the \fBexport_environment\fR
configureation parameter are exported unchanged.
The current working directory is the mail queue directory. The current working directory is the mail queue directory.
@@ -228,7 +229,10 @@ is made to truncate a regular file to its original length.
In the case of \fBmaildir\fR delivery, the local daemon prepends In the case of \fBmaildir\fR delivery, the local daemon prepends
an optional an optional
\fBDelivered-To:\fR header with the envelope recipient address. \fBDelivered-To:\fR header with the envelope recipient address, and
prepends an
\fBX-Original-To:\fR header with the recipient address as given to
Postfix.
The envelope sender address is available in the \fBReturn-Path:\fR The envelope sender address is available in the \fBReturn-Path:\fR
header. header.
.SH ADDRESS EXTENSION .SH ADDRESS EXTENSION

View File

@@ -9,8 +9,8 @@ Postfix master process
.na .na
.nf .nf
.fi .fi
\fBmaster\fR [\fB-c \fIconfig_dir\fR] [\fB-e \fIexit_time\fR] \fBmaster\fR [\fB-Dtv\fR] [\fB-c \fIconfig_dir\fR]
[\fB-D\fR] [\fB-t\fR] [\fB-v\fR] [\fB-e \fIexit_time\fR]
.SH DESCRIPTION .SH DESCRIPTION
.ad .ad
.fi .fi

View File

@@ -29,13 +29,12 @@ None. The \fBpickup\fR daemon does not interact with the outside world.
.nf .nf
.ad .ad
.fi .fi
The \fBpickup\fR daemon runs with superuser privileges so that it The \fBpickup\fR daemon is moderately security sensitive. It runs
1) can open a queue file with the rights of the submitting user with fixed low privilege and can run in a chrooted environment.
and 2) can access the Postfix private IPC channels. However, the program reads files from potentially hostile users.
On the positive side, the program can run chrooted, opens no files The \fBpickup\fR daemon opens no files for writing, is careful about
for writing, is careful about what files it opens for reading, and what files it opens for reading, and does not actually touch any data
does not actually touch any data that is sent to its public service that is sent to its public service endpoint.
endpoint.
.SH DIAGNOSTICS .SH DIAGNOSTICS
.ad .ad
.fi .fi
@@ -67,8 +66,6 @@ a Postfix transport table.
.fi .fi
.IP \fBalways_bcc\fR .IP \fBalways_bcc\fR
Address to send a copy of each message that enters the system. Address to send a copy of each message that enters the system.
.IP \fBmail_owner\fR
The process privileges used while not opening a \fBmaildrop\fR file.
.IP \fBqueue_directory\fR .IP \fBqueue_directory\fR
Top-level directory of the Postfix queue. Top-level directory of the Postfix queue.
.SH SEE ALSO .SH SEE ALSO

View File

@@ -95,7 +95,7 @@ storage for sender and recipient address information.
.SH Tarpitting .SH Tarpitting
.ad .ad
.fi .fi
.IP \fBqmqpd_error_sleep_time\fR .IP \fBqmqpd_error_delay\fR
Time to wait in seconds before informing the client of Time to wait in seconds before informing the client of
a problem. This slows down run-away errors. a problem. This slows down run-away errors.
.SH SEE ALSO .SH SEE ALSO

View File

@@ -28,7 +28,7 @@ Resolve an address to a (\fItransport\fR, \fInexthop\fR,
The delivery agent to use. This is the first field of an entry The delivery agent to use. This is the first field of an entry
in the \fBmaster.cf\fR file. in the \fBmaster.cf\fR file.
.IP \fInexthop\fR .IP \fInexthop\fR
The host to send to. For local delivery this is an empty string. The host to send to and optional delivery method information.
.IP \fIrecipient\fR .IP \fIrecipient\fR
The envelope recipient address that is passed on to \fInexthop\fR. The envelope recipient address that is passed on to \fInexthop\fR.
.PP .PP
@@ -72,18 +72,21 @@ a configuration change.
.SH Miscellaneous .SH Miscellaneous
.ad .ad
.fi .fi
.IP \fBempty_address_recipient\fR
The recipient that is substituted for the null address.
.IP \fBinet_interfaces\fR .IP \fBinet_interfaces\fR
The network interfaces that this mail system receives mail on. The network interfaces that this mail system receives mail on.
This information is used to determine if This information is used to determine if
\fIuser\fR@[\fInet.work.addr.ess\fR] is local or remote. \fIuser\fR@[\fInet.work.addr.ess\fR] is local or remote.
Mail for local users is given to the \fB$local_transport\fR.
.IP \fBmydestination\fR .IP \fBmydestination\fR
List of domains that are given to the \fB$local_transport\fR. List of domains that are given to the \fB$local_transport\fR.
.IP \fBvirtual_alias_domains\fT .IP \fBvirtual_alias_domains\fR
List of simulated virtual domains (domains with all recipients List of simulated virtual domains (domains with all recipients
aliased to some other local or remote domain). aliased to some other local or remote domain).
.IP \fBvirtual_mailbox_domains\fT .IP \fBvirtual_mailbox_domains\fR
List of domains that are given to the \fB$virtual_transport\fR. List of domains that are given to the \fB$virtual_transport\fR.
.IP \fBrelay_domains\fT .IP \fBrelay_domains\fR
List of domains that are given to the \fB$relay_transport\fR. List of domains that are given to the \fB$relay_transport\fR.
.IP \fBresolve_unquoted_address\fR .IP \fBresolve_unquoted_address\fR
When resolving an address, do not quote the address localpart as When resolving an address, do not quote the address localpart as

View File

@@ -49,7 +49,10 @@ messages in one textfile.
The \fBvirtual\fR delivery agent prepends a "\fBFrom \fIsender The \fBvirtual\fR delivery agent prepends a "\fBFrom \fIsender
time_stamp\fR" envelope header to each message, prepends a time_stamp\fR" envelope header to each message, prepends a
\fBDelivered-To:\fR message header with the envelope recipient \fBDelivered-To:\fR message header with the envelope recipient
address, prepends a \fBReturn-Path:\fR message header with the address,
prepends an \fBX-Original-To:\fR header with the recipient address as
given to Postfix,
prepends a \fBReturn-Path:\fR message header with the
envelope sender address, prepends a \fB>\fR character to lines envelope sender address, prepends a \fB>\fR character to lines
beginning with "\fBFrom \fR", and appends an empty line. beginning with "\fBFrom \fR", and appends an empty line.

View File

@@ -109,7 +109,7 @@
# An all-numerical result is treated as OK. This format is # An all-numerical result is treated as OK. This format is
# generated by address-based relay authorization schemes. # generated by address-based relay authorization schemes.
# .IP \fBDUNNO\fR # .IP \fBDUNNO\fR
# Pretend that the lookup key was not found in this table, to # Pretend that the lookup key was not found in this table. This
# prevents Postfix from trying substrings of the lookup key # prevents Postfix from trying substrings of the lookup key
# (such as a subdomain name, or a network address subnetwork). # (such as a subdomain name, or a network address subnetwork).
# .IP \fBHOLD\fR # .IP \fBHOLD\fR

View File

@@ -63,7 +63,7 @@
# \fIuser\fR@\fIdomain\fR is replaced by \fIaddress\fR. This form # \fIuser\fR@\fIdomain\fR is replaced by \fIaddress\fR. This form
# has the highest precedence. # has the highest precedence.
# .sp # .sp
# This form useful to clean up addresses produced by legacy mail systems. # This is useful to clean up addresses produced by legacy mail systems.
# It can also be used to produce \fIFirstname.Lastname\fR style # It can also be used to produce \fIFirstname.Lastname\fR style
# addresses, but see below for a simpler solution. # addresses, but see below for a simpler solution.
# .IP "\fIuser address\fR" # .IP "\fIuser address\fR"

View File

@@ -51,7 +51,7 @@
# insensitive. # insensitive.
# .IP "\fBm\fR (default: off)" # .IP "\fBm\fR (default: off)"
# Toggles the PCRE_MULTILINE flag. When this flag is on, the \fB^\fR # Toggles the PCRE_MULTILINE flag. When this flag is on, the \fB^\fR
# and \fb$\fR metacharacters match immediately after and immediately # and \fB$\fR metacharacters match immediately after and immediately
# before a newline character, respectively, in addition to # before a newline character, respectively, in addition to
# matching at the start and end of the subject string. # matching at the start and end of the subject string.
# .IP "\fBs\fR (default: on)" # .IP "\fBs\fR (default: on)"

View File

@@ -6,9 +6,9 @@
# SYNOPSIS # SYNOPSIS
# \fBpostmap /etc/postfix/transport\fR # \fBpostmap /etc/postfix/transport\fR
# #
# \fBpostmap -q "\fIstring\fB" /etc/postfix/transport\fR # \fBpostmap -q "\fIstring\fB" /etc/postfix/transport\fR
# #
# \fBpostmap -q - /etc/postfix/transport <\fIinputfile\fR # \fBpostmap -q - /etc/postfix/transport <\fIinputfile\fR
# DESCRIPTION # DESCRIPTION
# The optional \fBtransport\fR table specifies a mapping from email # The optional \fBtransport\fR table specifies a mapping from email
# addresses to message delivery transports and/or relay hosts. The # addresses to message delivery transports and/or relay hosts. The
@@ -50,7 +50,7 @@
# such as \fBsmtp\fR or \fBlocal\fR. The \fInexthop\fR field # such as \fBsmtp\fR or \fBlocal\fR. The \fInexthop\fR field
# specifies where and how to deliver mail. More details are given # specifies where and how to deliver mail. More details are given
# in section "RESULT FORMAT". # in section "RESULT FORMAT".
# .SH TABLE LOOKUP # TABLE LOOKUP
# .ad # .ad
# .fi # .fi
# With lookups from indexed files such as DB or DBM, or from networked # With lookups from indexed files such as DB or DBM, or from networked
@@ -76,11 +76,21 @@
# Note 1: the special pattern \fB*\fR represents any address (i.e. it # Note 1: the special pattern \fB*\fR represents any address (i.e. it
# functions as the wild-card pattern). # functions as the wild-card pattern).
# #
# Note 2: the null recipient address is looked up as the local # Note 2: the null recipient address is looked up as
# mailer-daemon address (mailer-daemon@fully-qualified-domain-name). # \fB$empty_address_recipient\fR@\fB$myhostname\fR (default:
# .SH RESULT FORMAT # mailer-daemon@hostname).
# RESULT FORMAT
# .ad # .ad
# .fi # .fi
# The transport field specifies the name of a mail delivery transport
# (the first name of a mail delivery service entry in the Postfix
# \fBmaster.cf\fR file).
#
# The interpretation of the nexthop field is transport
# dependent. In the case of SMTP, specify \fIhost\fR:\fIservice\fR for a
# non-default server port, and use [\fIhost\fR] or [\fIhost\fR]:\fIport\fR
# in order to disable MX (mail exchanger) DNS lookups. The [] form
# can also be used with IP addresses instead of hostnames.
# #
# A null \fItransport\fR and null \fInexthop\fR result means "do # A null \fItransport\fR and null \fInexthop\fR result means "do
# not change": use the delivery transport and nexthop information # not change": use the delivery transport and nexthop information
@@ -91,31 +101,30 @@
# #
# A null \fItransport\fR field with non-null \fInexthop\fR field # A null \fItransport\fR field with non-null \fInexthop\fR field
# does not modify the transport information. # does not modify the transport information.
# .SH TRANSPORT FIELD # DEFAULT DELIVERY METHOD
# .ad # .ad
# .fi # .fi
# The transport field specifies the name of a mail delivery transport # When the recipient address or domain does not match a transport
# (the first name of a mail delivery service entry in the Postfix # table entry, Postfix uses one of the following delivery methods,
# \fBmaster.cf\fR file). # with the recipient domain as the default nexthop.
# # .IP \(bu
# When a null transport field is specified, Postfix uses one of the # The recipient domain matches \fB$mydestination\fR or
# following transports: # \fB$inet_interfaces\fR. The transport and optional nexthop
# .IP \fB$local_transport\fR # are specified with \fB$local_transport\fR.
# The domain matches \fB$mydestination\fR or \fB$inet_interfaces\fR. # .IP \(bu
# .IP \fB$virtual_transport\fR # The recipient domain matches \fB$virtual_mailbox_domains\fR.
# The domain matches \fB$virtual_mailbox_domains\fR. # The transport and optional nexthop are specified with
# .IP \fB$relay_transport\fR # \fB$virtual_transport\fR.
# The domain matches \fB$relay_transport\fR. # .IP \(bu
# .IP \fB$default_transport\fR # The recipient domain matches \fB$relay_domains\fR. The
# All other non-local, non-virtual destinations. # transport and optional nexthop are specified with
# .SH NEXTHOP FIELD # \fB$relay_transport\fR. This overrides the nexthop information
# .ad # that is specified with \fB$relayhost\fR.
# .fi # .IP \(bu
# The interpretation of the nexthop field is transport # All other destinations. the transport and optional nexthop are
# dependent. In the case of SMTP, specify \fIhost\fR:\fIservice\fR for a # specified with \fB$relay_transport\fR.
# non-default server port, and use [\fIhost\fR] or [\fIhost\fR]:\fIport\fR # This overrides the nexthop information that is specified with
# in order to disable MX (mail exchanger) DNS lookups. The [] form # \fB$relayhost\fR.
# can also be used with IP addresses instead of hostnames.
# EXAMPLES # EXAMPLES
# .ad # .ad
# .fi # .fi
@@ -123,8 +132,7 @@
# mail relay for all other mail, specify a null entry for # mail relay for all other mail, specify a null entry for
# internal destinations (do not change the delivery transport or # internal destinations (do not change the delivery transport or
# the nexthop information) and specify a wildcard for all other # the nexthop information) and specify a wildcard for all other
# destinations. Note that for this trick to work you should # destinations.
# not specify a \fBrelayhost\fR in the \fBmain.cf\fR file.
# #
# .ti +5 # .ti +5
# \fB\&my.domain :\fR # \fB\&my.domain :\fR
@@ -205,6 +213,8 @@
# this topic. See the Postfix \fBmain.cf\fR file for syntax details # this topic. See the Postfix \fBmain.cf\fR file for syntax details
# and for default values. Use the \fBpostfix reload\fR command after # and for default values. Use the \fBpostfix reload\fR command after
# a configuration change. # a configuration change.
# .IP \fBempty_address_recipient\fR
# The address that is looked up instead of the null sender address.
# .IP \fBparent_domain_matches_subdomains\fR # .IP \fBparent_domain_matches_subdomains\fR
# List of Postfix features that use \fIdomain.tld\fR patterns # List of Postfix features that use \fIdomain.tld\fR patterns
# to match \fIsub.domain.tld\fR (as opposed to # to match \fIsub.domain.tld\fR (as opposed to

View File

@@ -16,7 +16,7 @@
# #
# The main applications of virtual aliasing are: # The main applications of virtual aliasing are:
# .IP \(bu # .IP \(bu
# To redirect mail from one address to one or more other addresses. # To redirect mail for one address to one or more addresses.
# .IP \(bu # .IP \(bu
# To simulate virtual domains where all virtual addresses are aliased # To simulate virtual domains where all virtual addresses are aliased
# to non-virtual addresses. # to non-virtual addresses.
@@ -43,6 +43,50 @@
# Alternatively, the table can be provided as a regular-expression # Alternatively, the table can be provided as a regular-expression
# map where patterns are given as regular expressions. In that case, # map where patterns are given as regular expressions. In that case,
# the lookups are done in a slightly different way as described below. # the lookups are done in a slightly different way as described below.
# TABLE FORMAT
# .ad
# .fi
# The format of the virtual table is as follows, mappings being
# tried in the order as listed in this manual page:
# .IP "\fIpattern result\fR"
# When \fIpattern\fR matches a mail address, replace it by the
# corresponding \fIresult\fR.
# .IP "blank lines and comments"
# Empty lines and whitespace-only lines are ignored, as
# are lines whose first non-whitespace character is a `#'.
# .IP "multi-line text"
# A logical line starts with non-whitespace text. A line that
# starts with whitespace continues a logical line.
# .PP
# With lookups from indexed files such as DB or DBM, or from networked
# tables such as NIS, LDAP or SQL, patterns are tried in the order as
# listed below:
# .IP "\fIuser\fR@\fIdomain address, address, ...\fR"
# Mail for \fIuser\fR@\fIdomain\fR is redirected to \fIaddress\fR.
# This form has the highest precedence.
# .IP "\fIuser address, address, ...\fR"
# Mail for \fIuser\fR@\fIsite\fR is redirected to \fIaddress\fR when
# \fIsite\fR is equal to $\fBmyorigin\fR, when \fIsite\fR is listed in
# $\fRmydestination\fR, or when it is listed in $\fIinet_interfaces\fR.
# .sp
# This functionality overlaps with functionality of the local
# \fIaliases\fR(5) database. The difference is that \fBvirtual\fR
# mapping can be applied to non-local addresses.
# .IP "@\fIdomain address, address, ...\fR"
# Mail for any user in \fIdomain\fR is redirected to \fIaddress\fR.
# This form has the lowest precedence.
# .PP
# In all the above forms, when \fIaddress\fR has the form
# @\fIotherdomain\fR, the result is the same user in \fIotherdomain\fR.
# This works for the first address in the expansion only.
# ADDRESS EXTENSION
# .fi
# .ad
# When a mail address localpart contains the optional recipient delimiter
# (e.g., \fIuser+foo\fR@\fIdomain\fR), the lookup order becomes:
# \fIuser+foo\fR@\fIdomain\fR, \fIuser\fR@\fIdomain\fR, \fIuser+foo\fR,
# \fIuser\fR, and @\fIdomain\fR. An unmatched address extension
# (\fI+foo\fR) is propagated to the result of table lookup.
# SIMULATED VIRTUAL DOMAINS # SIMULATED VIRTUAL DOMAINS
# .ad # .ad
# .fi # .fi
@@ -100,50 +144,6 @@
# the \fBmain.cf virtual_alias_domains\fR configuration parameter. # the \fBmain.cf virtual_alias_domains\fR configuration parameter.
# This latter parameter uses the same syntax as the \fBmain.cf # This latter parameter uses the same syntax as the \fBmain.cf
# mydestination\fR configuration parameter. # mydestination\fR configuration parameter.
# TABLE FORMAT
# .ad
# .fi
# The format of the virtual table is as follows, mappings being
# tried in the order as listed in this manual page:
# .IP "\fIpattern result\fR"
# When \fIpattern\fR matches a mail address, replace it by the
# corresponding \fIresult\fR.
# .IP "blank lines and comments"
# Empty lines and whitespace-only lines are ignored, as
# are lines whose first non-whitespace character is a `#'.
# .IP "multi-line text"
# A logical line starts with non-whitespace text. A line that
# starts with whitespace continues a logical line.
# .PP
# With lookups from indexed files such as DB or DBM, or from networked
# tables such as NIS, LDAP or SQL, patterns are tried in the order as
# listed below:
# .IP "\fIuser\fR@\fIdomain address, address, ...\fR"
# Mail for \fIuser\fR@\fIdomain\fR is redirected to \fIaddress\fR.
# This form has the highest precedence.
# .IP "\fIuser address, address, ...\fR"
# Mail for \fIuser\fR@\fIsite\fR is redirected to \fIaddress\fR when
# \fIsite\fR is equal to $\fBmyorigin\fR, when \fIsite\fR is listed in
# $\fRmydestination\fR, or when it is listed in $\fIinet_interfaces\fR.
# .sp
# This functionality overlaps with functionality of the local
# \fIaliases\fR(5) database. The difference is that \fBvirtual\fR
# mapping can be applied to non-local addresses.
# .IP "@\fIdomain address, address, ...\fR"
# Mail for any user in \fIdomain\fR is redirected to \fIaddress\fR.
# This form has the lowest precedence.
# .PP
# In all the above forms, when \fIaddress\fR has the form
# @\fIotherdomain\fR, the result is the same user in \fIotherdomain\fR.
# This works for the first address in the expansion only.
# ADDRESS EXTENSION
# .fi
# .ad
# When a mail address localpart contains the optional recipient delimiter
# (e.g., \fIuser+foo\fR@\fIdomain\fR), the lookup order becomes:
# \fIuser+foo\fR@\fIdomain\fR, \fIuser\fR@\fIdomain\fR, \fIuser+foo\fR,
# \fIuser\fR, and @\fIdomain\fR. An unmatched address extension
# (\fI+foo\fR) is propagated to the result of table lookup.
# REGULAR EXPRESSION TABLES # REGULAR EXPRESSION TABLES
# .ad # .ad
# .fi # .fi

View File

@@ -150,9 +150,11 @@
/* .ad /* .ad
/* .fi /* .fi
/* .IP \fBduplicate_filter_limit\fR /* .IP \fBduplicate_filter_limit\fR
/* Limit the number of envelope recipients that are remembered. /* Limits the number of envelope recipients that are remembered.
/* .IP \fBheader_address_token_limit\fR
/* Limits the number of address tokens used to process a message header.
/* .IP \fBheader_size_limit\fR /* .IP \fBheader_size_limit\fR
/* Limit the amount of memory in bytes used to process a message header. /* Limits the amount of memory in bytes used to process a message header.
/* .IP \fBin_flow_delay\fR /* .IP \fBin_flow_delay\fR
/* Amount of time to pause before accepting a message, when the /* Amount of time to pause before accepting a message, when the
/* message arrival rate exceeds the message delivery rate. /* message arrival rate exceeds the message delivery rate.

View File

@@ -306,8 +306,7 @@ rewrite_clnt_test: rewrite_clnt rewrite_clnt.in rewrite_clnt.ref
diff - rewrite_clnt.tmp diff - rewrite_clnt.tmp
rm -f rewrite_clnt.tmp rm -f rewrite_clnt.tmp
# Requires: Postfix, root, myorigin=$myhostname, relayhost=$mydomain, # Requires: Postfix, root, relayhost=$mydomain, no transport map
# no transport map
resolve_clnt_test: resolve_clnt resolve_clnt.in resolve_clnt.ref resolve_clnt_test: resolve_clnt resolve_clnt.in resolve_clnt.ref
sed -e "s/MYDOMAIN/`postconf -h mydomain`/g" \ sed -e "s/MYDOMAIN/`postconf -h mydomain`/g" \

View File

@@ -20,7 +20,7 @@
* Patches change the patchlevel and the release date. Snapshots change the * Patches change the patchlevel and the release date. Snapshots change the
* release date only, unless they include the same bugfix as a patch release. * release date only, unless they include the same bugfix as a patch release.
*/ */
#define MAIL_RELEASE_DATE "20021217" #define MAIL_RELEASE_DATE "20021218"
#define VAR_MAIL_VERSION "mail_version" #define VAR_MAIL_VERSION "mail_version"
#define DEF_MAIL_VERSION "1.1.12-" MAIL_RELEASE_DATE #define DEF_MAIL_VERSION "1.1.12-" MAIL_RELEASE_DATE

View File

@@ -171,8 +171,9 @@
/* The entire sender address. /* The entire sender address.
/* .PP /* .PP
/* The \fBPATH\fR environment variable is always reset to a /* The \fBPATH\fR environment variable is always reset to a
/* system-dependent default path, and the \fBTZ\fR (time zone) /* system-dependent default path, and environment variables
/* environment variable is always passed on without change. /* whose names are blessed by the \fBexport_environment\fR
/* configureation parameter are exported unchanged.
/* /*
/* The current working directory is the mail queue directory. /* The current working directory is the mail queue directory.
/* /*
@@ -212,7 +213,10 @@
/* /*
/* In the case of \fBmaildir\fR delivery, the local daemon prepends /* In the case of \fBmaildir\fR delivery, the local daemon prepends
/* an optional /* an optional
/* \fBDelivered-To:\fR header with the envelope recipient address. /* \fBDelivered-To:\fR header with the envelope recipient address, and
/* prepends an
/* \fBX-Original-To:\fR header with the recipient address as given to
/* Postfix.
/* The envelope sender address is available in the \fBReturn-Path:\fR /* The envelope sender address is available in the \fBReturn-Path:\fR
/* header. /* header.
/* ADDRESS EXTENSION /* ADDRESS EXTENSION

View File

@@ -5,8 +5,8 @@
/* Postfix master process /* Postfix master process
/* SYNOPSIS /* SYNOPSIS
/* .fi /* .fi
/* \fBmaster\fR [\fB-c \fIconfig_dir\fR] [\fB-e \fIexit_time\fR] /* \fBmaster\fR [\fB-Dtv\fR] [\fB-c \fIconfig_dir\fR]
/* [\fB-D\fR] [\fB-t\fR] [\fB-v\fR] /* [\fB-e \fIexit_time\fR]
/* DESCRIPTION /* DESCRIPTION
/* The \fBmaster\fR daemon is the resident process that runs Postfix /* The \fBmaster\fR daemon is the resident process that runs Postfix
/* daemons on demand: daemons to send or receive messages via the /* daemons on demand: daemons to send or receive messages via the

View File

@@ -19,13 +19,12 @@
/* SECURITY /* SECURITY
/* .ad /* .ad
/* .fi /* .fi
/* The \fBpickup\fR daemon runs with superuser privileges so that it /* The \fBpickup\fR daemon is moderately security sensitive. It runs
/* 1) can open a queue file with the rights of the submitting user /* with fixed low privilege and can run in a chrooted environment.
/* and 2) can access the Postfix private IPC channels. /* However, the program reads files from potentially hostile users.
/* On the positive side, the program can run chrooted, opens no files /* The \fBpickup\fR daemon opens no files for writing, is careful about
/* for writing, is careful about what files it opens for reading, and /* what files it opens for reading, and does not actually touch any data
/* does not actually touch any data that is sent to its public service /* that is sent to its public service endpoint.
/* endpoint.
/* DIAGNOSTICS /* DIAGNOSTICS
/* Problems and transactions are logged to \fBsyslogd\fR(8). /* Problems and transactions are logged to \fBsyslogd\fR(8).
/* BUGS /* BUGS
@@ -51,8 +50,6 @@
/* .fi /* .fi
/* .IP \fBalways_bcc\fR /* .IP \fBalways_bcc\fR
/* Address to send a copy of each message that enters the system. /* Address to send a copy of each message that enters the system.
/* .IP \fBmail_owner\fR
/* The process privileges used while not opening a \fBmaildrop\fR file.
/* .IP \fBqueue_directory\fR /* .IP \fBqueue_directory\fR
/* Top-level directory of the Postfix queue. /* Top-level directory of the Postfix queue.
/* SEE ALSO /* SEE ALSO

View File

@@ -43,7 +43,7 @@
/* .IP \fB-i\fR /* .IP \fB-i\fR
/* Incremental mode. Read entries from standard input and do not /* Incremental mode. Read entries from standard input and do not
/* truncate an existing database. By default, \fBpostalias\fR creates /* truncate an existing database. By default, \fBpostalias\fR creates
/* a new database from the entries in \fBfile_name\fR. /* a new database from the entries in \fIfile_name\fR.
/* .IP \fB-n\fR /* .IP \fB-n\fR
/* Don't include the terminating null character that terminates lookup /* Don't include the terminating null character that terminates lookup
/* keys and values. By default, Postfix does whatever is the default for /* keys and values. By default, Postfix does whatever is the default for
@@ -95,7 +95,7 @@
/* The default value for this parameter depends on the host environment. /* The default value for this parameter depends on the host environment.
/* .RE /* .RE
/* .IP \fIfile_name\fR /* .IP \fIfile_name\fR
/* The name of the alias database source file when rebuilding a database. /* The name of the alias database source file when creating a database.
/* DIAGNOSTICS /* DIAGNOSTICS
/* Problems are logged to the standard error stream. No output means /* Problems are logged to the standard error stream. No output means
/* no problems were detected. Duplicate entries are skipped and are /* no problems were detected. Duplicate entries are skipped and are
@@ -117,8 +117,8 @@
/* The following \fBmain.cf\fR parameters are especially relevant to /* The following \fBmain.cf\fR parameters are especially relevant to
/* this program. See the Postfix \fBmain.cf\fR file for syntax details /* this program. See the Postfix \fBmain.cf\fR file for syntax details
/* and for default values. /* and for default values.
/* .IP \fdefault_Bdatabase_type\fR /* .IP \fBdefault_database_type\fR
/* Default alias database type. On many UNIX systems, the default type /* Default database type. On many UNIX systems, the default type
/* is either \fBdbm\fR or \fBhash\fR. /* is either \fBdbm\fR or \fBhash\fR.
/* .IP \fBberkeley_db_create_buffer_size\fR /* .IP \fBberkeley_db_create_buffer_size\fR
/* Amount of buffer memory to be used when creating a Berkeley DB /* Amount of buffer memory to be used when creating a Berkeley DB

View File

@@ -12,7 +12,7 @@
/* [\fIparameter=value ...\fR] /* [\fIparameter=value ...\fR]
/* DESCRIPTION /* DESCRIPTION
/* The \fBpostconf\fR command prints the actual value of /* The \fBpostconf\fR command prints the actual value of
/* \fIparameter\fR (all known parameters by default), one /* \fIparameter\fR (all known parameters by default) one
/* parameter per line, changes its value, or prints other /* parameter per line, changes its value, or prints other
/* information about the Postfix mail system. /* information about the Postfix mail system.
/* /*

View File

@@ -5,8 +5,7 @@
/* Postfix control program /* Postfix control program
/* SYNOPSIS /* SYNOPSIS
/* .fi /* .fi
/* \fBpostfix\fR [\fB-c \fIconfig_dir\fR] [\fB-D\fR] [\fB-v\fR] /* \fBpostfix\fR [\fB-Dv\fR] [\fB-c \fIconfig_dir\fR] \fIcommand\fR
/* \fIcommand\fR
/* DESCRIPTION /* DESCRIPTION
/* This command is reserved for the superuser. To submit mail, /* This command is reserved for the superuser. To submit mail,
/* use the Postfix \fBsendmail\fR command. /* use the Postfix \fBsendmail\fR command.
@@ -59,19 +58,17 @@
/* ENVIRONMENT /* ENVIRONMENT
/* .ad /* .ad
/* .fi /* .fi
/* The \fBpostfix\fR command sets the following environment /* The \fBpostfix\fR command exports the following environment
/* variables: /* variables before executing the \fBpostfix-script\fR file:
/* .IP \fBMAIL_CONFIG\fR /* .IP \fBMAIL_CONFIG\fR
/* Directory with Postfix configuration files. /* This is set when the -c command-line option is present.
/* .IP \fBMAIL_VERBOSE\fR /* .IP \fBMAIL_VERBOSE\fR
/* This is set when the -v command-line option is present. /* This is set when the -v command-line option is present.
/* .IP \fBMAIL_DEBUG\fR /* .IP \fBMAIL_DEBUG\fR
/* This is set when the -D command-line option is present. /* This is set when the -D command-line option is present.
/* CONFIGURATION PARAMETERS /* .PP
/* .ad /* The following \fBmain.cf\fR configuration parameters are
/* .fi /* exported as environment variables with the same names:
/* The following \fBmain.cf\fR configuration parameters are made
/* available as process environment variables with the same names:
/* .IP \fBcommand_directory\fR /* .IP \fBcommand_directory\fR
/* Directory with Postfix administrative commands. /* Directory with Postfix administrative commands.
/* .IP \fBdaemon_directory\fR /* .IP \fBdaemon_directory\fR
@@ -88,11 +85,11 @@
/* .IP \fBsetgid_group\fR /* .IP \fBsetgid_group\fR
/* The group for mail submission and queue management commands. /* The group for mail submission and queue management commands.
/* .IP \fBsendmail_path /* .IP \fBsendmail_path
/* The full pathname for the Postfix sendmail command. /* The full pathname for the Postfix \fBsendmail\fR command.
/* .IP \fBnewaliases_path /* .IP \fBnewaliases_path
/* The full pathname for the Postfix newaliases command. /* The full pathname for the Postfix \fBnewaliases\fR command.
/* .IP \fBmailq_path /* .IP \fBmailq_path
/* The full pathname for the Postfix mailq command. /* The full pathname for the Postfix \fBmailq\fR command.
/* .IP \fBmanpage_directory /* .IP \fBmanpage_directory
/* The directory for the Postfix on-line manual pages. /* The directory for the Postfix on-line manual pages.
/* .IP \fBsample_directory /* .IP \fBsample_directory

View File

@@ -81,7 +81,7 @@
/* .SH Tarpitting /* .SH Tarpitting
/* .ad /* .ad
/* .fi /* .fi
/* .IP \fBqmqpd_error_sleep_time\fR /* .IP \fBqmqpd_error_delay\fR
/* Time to wait in seconds before informing the client of /* Time to wait in seconds before informing the client of
/* a problem. This slows down run-away errors. /* a problem. This slows down run-away errors.
/* SEE ALSO /* SEE ALSO

View File

@@ -134,8 +134,8 @@
/* details. /* details.
/* .IP "\fB-o7\fR (ignored)" /* .IP "\fB-o7\fR (ignored)"
/* .IP "\fB-o8\fR (ignored)" /* .IP "\fB-o8\fR (ignored)"
/* The message body type. Currently, Postfix implements /* To send 8-bit or binary content, use an appropriate MIME encapsulation
/* \fBjust-send-eight\fR. /* and specify the appropriate \fB-B\fR command-line option.
/* .IP "\fB-oi\fR" /* .IP "\fB-oi\fR"
/* When reading a message from standard input, don\'t treat a line /* When reading a message from standard input, don\'t treat a line
/* with only a \fB.\fR character as the end of input. /* with only a \fB.\fR character as the end of input.
@@ -385,10 +385,12 @@ static void enqueue(const int flags, const char *encoding, const char *sender,
* to use login names at all. * to use login names at all.
*/ */
if (sender != 0) { if (sender != 0) {
VSTRING_RESET(buf);
VSTRING_TERMINATE(buf);
tree = tok822_parse(sender); tree = tok822_parse(sender);
for (naddr = 0, tp = tree; tp != 0; tp = tp->next) for (naddr = 0, tp = tree; tp != 0; tp = tp->next)
if (tp->type == TOK822_ADDR) if (tp->type == TOK822_ADDR && naddr++ == 0)
naddr++, tok822_internalize(buf, tp->head, TOK822_STR_DEFL); tok822_internalize(buf, tp->head, TOK822_STR_DEFL);
tok822_free_tree(tree); tok822_free_tree(tree);
saved_sender = mystrdup(STR(buf)); saved_sender = mystrdup(STR(buf));
if (naddr > 1) if (naddr > 1)
@@ -431,7 +433,8 @@ static void enqueue(const int flags, const char *encoding, const char *sender,
rec_fputs(dst, REC_TYPE_FULL, full_name); rec_fputs(dst, REC_TYPE_FULL, full_name);
rec_fputs(dst, REC_TYPE_FROM, saved_sender); rec_fputs(dst, REC_TYPE_FROM, saved_sender);
if (verp_delims && *saved_sender == 0) if (verp_delims && *saved_sender == 0)
msg_fatal("-V option requires non-null sender address"); msg_fatal_status(EX_USAGE,
"-V option requires non-null sender address");
if (encoding) if (encoding)
rec_fprintf(dst, REC_TYPE_ATTR, "%s=%s", MAIL_ATTR_ENCODING, encoding); rec_fprintf(dst, REC_TYPE_ATTR, "%s=%s", MAIL_ATTR_ENCODING, encoding);
if (verp_delims) if (verp_delims)
@@ -756,7 +759,7 @@ int main(int argc, char **argv)
} else if (optarg[0] == 'R') { } else if (optarg[0] == 'R') {
site_to_flush = optarg + 1; site_to_flush = optarg + 1;
if (*site_to_flush == 0) if (*site_to_flush == 0)
msg_fatal("specify: -qRsitename"); msg_fatal_status(EX_USAGE, "specify: -qRsitename");
} else { } else {
msg_fatal_status(EX_USAGE, "-q%c is not implemented", msg_fatal_status(EX_USAGE, "-q%c is not implemented",
optarg[0]); optarg[0]);
@@ -784,13 +787,14 @@ int main(int argc, char **argv)
* Look for conflicting options and arguments. * Look for conflicting options and arguments.
*/ */
if (extract_recipients && mode != SM_MODE_ENQUEUE) if (extract_recipients && mode != SM_MODE_ENQUEUE)
msg_fatal("-t can be used only in delivery mode"); msg_fatal_status(EX_USAGE, "-t can be used only in delivery mode");
if (site_to_flush && mode != SM_MODE_ENQUEUE) if (site_to_flush && mode != SM_MODE_ENQUEUE)
msg_fatal("-qR can be used only in delivery mode"); msg_fatal_status(EX_USAGE, "-qR can be used only in delivery mode");
if (extract_recipients && argv[OPTIND]) if (extract_recipients && argv[OPTIND])
msg_fatal("cannot handle command-line recipients with -t"); msg_fatal_status(EX_USAGE,
"cannot handle command-line recipients with -t");
/* /*
* Start processing. Everything is delegated to external commands. * Start processing. Everything is delegated to external commands.
@@ -805,7 +809,7 @@ int main(int argc, char **argv)
exit(0); exit(0);
} }
if (argv[OPTIND]) if (argv[OPTIND])
msg_fatal("flush site requires no recipient"); msg_fatal_status(EX_USAGE, "flush site requires no recipient");
ext_argv = argv_alloc(2); ext_argv = argv_alloc(2);
argv_add(ext_argv, "postqueue", "-s", site_to_flush, (char *) 0); argv_add(ext_argv, "postqueue", "-s", site_to_flush, (char *) 0);
for (n = 0; n < msg_verbose; n++) for (n = 0; n < msg_verbose; n++)
@@ -816,7 +820,8 @@ int main(int argc, char **argv)
break; break;
case SM_MODE_MAILQ: case SM_MODE_MAILQ:
if (argv[OPTIND]) if (argv[OPTIND])
msg_fatal("display queue mode requires no recipient"); msg_fatal_status(EX_USAGE,
"display queue mode requires no recipient");
ext_argv = argv_alloc(2); ext_argv = argv_alloc(2);
argv_add(ext_argv, "postqueue", "-p", (char *) 0); argv_add(ext_argv, "postqueue", "-p", (char *) 0);
for (n = 0; n < msg_verbose; n++) for (n = 0; n < msg_verbose; n++)
@@ -826,7 +831,8 @@ int main(int argc, char **argv)
/* NOTREACHED */ /* NOTREACHED */
case SM_MODE_FLUSHQ: case SM_MODE_FLUSHQ:
if (argv[OPTIND]) if (argv[OPTIND])
msg_fatal("flush queue mode requires no recipient"); msg_fatal_status(EX_USAGE,
"flush queue mode requires no recipient");
ext_argv = argv_alloc(2); ext_argv = argv_alloc(2);
argv_add(ext_argv, "postqueue", "-f", (char *) 0); argv_add(ext_argv, "postqueue", "-f", (char *) 0);
for (n = 0; n < msg_verbose; n++) for (n = 0; n < msg_verbose; n++)
@@ -836,7 +842,7 @@ int main(int argc, char **argv)
/* NOTREACHED */ /* NOTREACHED */
case SM_MODE_DAEMON: case SM_MODE_DAEMON:
if (argv[OPTIND]) if (argv[OPTIND])
msg_fatal("daemon mode requires no recipient"); msg_fatal_status(EX_USAGE, "daemon mode requires no recipient");
ext_argv = argv_alloc(2); ext_argv = argv_alloc(2);
argv_add(ext_argv, "postfix", (char *) 0); argv_add(ext_argv, "postfix", (char *) 0);
for (n = 0; n < msg_verbose; n++) for (n = 0; n < msg_verbose; n++)
@@ -849,7 +855,8 @@ int main(int argc, char **argv)
break; break;
case SM_MODE_NEWALIAS: case SM_MODE_NEWALIAS:
if (argv[OPTIND]) if (argv[OPTIND])
msg_fatal("alias initialization mode requires no recipient"); msg_fatal_status(EX_USAGE,
"alias initialization mode requires no recipient");
if (*var_alias_db_map == 0) if (*var_alias_db_map == 0)
return (0); return (0);
ext_argv = argv_alloc(2); ext_argv = argv_alloc(2);
@@ -862,7 +869,8 @@ int main(int argc, char **argv)
/* NOTREACHED */ /* NOTREACHED */
case SM_MODE_USER: case SM_MODE_USER:
if (argv[OPTIND]) if (argv[OPTIND])
msg_fatal("stand-alone mode requires no recipient"); msg_fatal_status(EX_USAGE,
"stand-alone mode requires no recipient");
ext_argv = argv_alloc(2); ext_argv = argv_alloc(2);
argv_add(ext_argv, "smtpd", "-S", (char *) 0); argv_add(ext_argv, "smtpd", "-S", (char *) 0);
for (n = 0; n < msg_verbose; n++) for (n = 0; n < msg_verbose; n++)

View File

@@ -76,7 +76,6 @@ resolve.o: ../../include/mail_params.h
resolve.o: ../../include/mail_proto.h resolve.o: ../../include/mail_proto.h
resolve.o: ../../include/iostuff.h resolve.o: ../../include/iostuff.h
resolve.o: ../../include/attr.h resolve.o: ../../include/attr.h
resolve.o: ../../include/mail_addr.h
resolve.o: ../../include/rewrite_clnt.h resolve.o: ../../include/rewrite_clnt.h
resolve.o: ../../include/resolve_local.h resolve.o: ../../include/resolve_local.h
resolve.o: ../../include/mail_conf.h resolve.o: ../../include/mail_conf.h
@@ -152,6 +151,7 @@ trivial-rewrite.o: ../../include/mail_conf.h
trivial-rewrite.o: ../../include/resolve_clnt.h trivial-rewrite.o: ../../include/resolve_clnt.h
trivial-rewrite.o: ../../include/rewrite_clnt.h trivial-rewrite.o: ../../include/rewrite_clnt.h
trivial-rewrite.o: ../../include/tok822.h trivial-rewrite.o: ../../include/tok822.h
trivial-rewrite.o: ../../include/mail_addr.h
trivial-rewrite.o: ../../include/mail_server.h trivial-rewrite.o: ../../include/mail_server.h
trivial-rewrite.o: trivial-rewrite.h trivial-rewrite.o: trivial-rewrite.h
trivial-rewrite.o: transport.h trivial-rewrite.o: transport.h

View File

@@ -69,7 +69,6 @@
#include <mail_params.h> #include <mail_params.h>
#include <mail_proto.h> #include <mail_proto.h>
#include <mail_addr.h>
#include <rewrite_clnt.h> #include <rewrite_clnt.h>
#include <resolve_local.h> #include <resolve_local.h>
#include <mail_conf.h> #include <mail_conf.h>
@@ -320,8 +319,9 @@ void resolve_addr(char *addr, VSTRING *channel, VSTRING *nexthop,
tok822_free(tree->head); tok822_free(tree->head);
tree->head = 0; tree->head = 0;
} }
/* XXX must be localpart only, not user@domain form. */
if (tree->head == 0) if (tree->head == 0)
tree->head = tok822_scan(MAIL_ADDR_MAIL_DAEMON, &tree->tail); tree->head = tok822_scan(var_empty_addr, &tree->tail);
/* /*
* We're done. There are no domains left to strip off the address, * We're done. There are no domains left to strip off the address,

View File

@@ -22,7 +22,7 @@
/* The delivery agent to use. This is the first field of an entry /* The delivery agent to use. This is the first field of an entry
/* in the \fBmaster.cf\fR file. /* in the \fBmaster.cf\fR file.
/* .IP \fInexthop\fR /* .IP \fInexthop\fR
/* The host to send to. For local delivery this is an empty string. /* The host to send to and optional delivery method information.
/* .IP \fIrecipient\fR /* .IP \fIrecipient\fR
/* The envelope recipient address that is passed on to \fInexthop\fR. /* The envelope recipient address that is passed on to \fInexthop\fR.
/* .PP /* .PP
@@ -56,18 +56,21 @@
/* .SH Miscellaneous /* .SH Miscellaneous
/* .ad /* .ad
/* .fi /* .fi
/* .IP \fBempty_address_recipient\fR
/* The recipient that is substituted for the null address.
/* .IP \fBinet_interfaces\fR /* .IP \fBinet_interfaces\fR
/* The network interfaces that this mail system receives mail on. /* The network interfaces that this mail system receives mail on.
/* This information is used to determine if /* This information is used to determine if
/* \fIuser\fR@[\fInet.work.addr.ess\fR] is local or remote. /* \fIuser\fR@[\fInet.work.addr.ess\fR] is local or remote.
/* Mail for local users is given to the \fB$local_transport\fR.
/* .IP \fBmydestination\fR /* .IP \fBmydestination\fR
/* List of domains that are given to the \fB$local_transport\fR. /* List of domains that are given to the \fB$local_transport\fR.
/* .IP \fBvirtual_alias_domains\fT /* .IP \fBvirtual_alias_domains\fR
/* List of simulated virtual domains (domains with all recipients /* List of simulated virtual domains (domains with all recipients
/* aliased to some other local or remote domain). /* aliased to some other local or remote domain).
/* .IP \fBvirtual_mailbox_domains\fT /* .IP \fBvirtual_mailbox_domains\fR
/* List of domains that are given to the \fB$virtual_transport\fR. /* List of domains that are given to the \fB$virtual_transport\fR.
/* .IP \fBrelay_domains\fT /* .IP \fBrelay_domains\fR
/* List of domains that are given to the \fB$relay_transport\fR. /* List of domains that are given to the \fB$relay_transport\fR.
/* .IP \fBresolve_unquoted_address\fR /* .IP \fBresolve_unquoted_address\fR
/* When resolving an address, do not quote the address localpart as /* When resolving an address, do not quote the address localpart as
@@ -176,6 +179,7 @@
#include <resolve_clnt.h> #include <resolve_clnt.h>
#include <rewrite_clnt.h> #include <rewrite_clnt.h>
#include <tok822.h> #include <tok822.h>
#include <mail_addr.h>
/* Multi server skeleton. */ /* Multi server skeleton. */
@@ -206,6 +210,7 @@ char *var_virt_alias_doms;
char *var_virt_mailbox_doms; char *var_virt_mailbox_doms;
char *var_relocated_maps; char *var_relocated_maps;
char *var_def_transport; char *var_def_transport;
char *var_empty_addr;
/* rewrite_service - read request and send reply */ /* rewrite_service - read request and send reply */
@@ -281,6 +286,7 @@ int main(int argc, char **argv)
VAR_VIRT_TRANSPORT, DEF_VIRT_TRANSPORT, &var_virt_transport, 1, 0, VAR_VIRT_TRANSPORT, DEF_VIRT_TRANSPORT, &var_virt_transport, 1, 0,
VAR_RELAY_TRANSPORT, DEF_RELAY_TRANSPORT, &var_relay_transport, 1, 0, VAR_RELAY_TRANSPORT, DEF_RELAY_TRANSPORT, &var_relay_transport, 1, 0,
VAR_RELOCATED_MAPS, DEF_RELOCATED_MAPS, &var_relocated_maps, 0, 0, VAR_RELOCATED_MAPS, DEF_RELOCATED_MAPS, &var_relocated_maps, 0, 0,
VAR_EMPTY_ADDR, DEF_EMPTY_ADDR, &var_empty_addr, 1, 0,
0, 0,
}; };
static CONFIG_BOOL_TABLE bool_table[] = { static CONFIG_BOOL_TABLE bool_table[] = {

View File

@@ -39,7 +39,10 @@
/* The \fBvirtual\fR delivery agent prepends a "\fBFrom \fIsender /* The \fBvirtual\fR delivery agent prepends a "\fBFrom \fIsender
/* time_stamp\fR" envelope header to each message, prepends a /* time_stamp\fR" envelope header to each message, prepends a
/* \fBDelivered-To:\fR message header with the envelope recipient /* \fBDelivered-To:\fR message header with the envelope recipient
/* address, prepends a \fBReturn-Path:\fR message header with the /* address,
/* prepends an \fBX-Original-To:\fR header with the recipient address as
/* given to Postfix,
/* prepends a \fBReturn-Path:\fR message header with the
/* envelope sender address, prepends a \fB>\fR character to lines /* envelope sender address, prepends a \fB>\fR character to lines
/* beginning with "\fBFrom \fR", and appends an empty line. /* beginning with "\fBFrom \fR", and appends an empty line.
/* /*
@@ -223,7 +226,7 @@
/* The \fBmaildir\fR structure appears in the \fBqmail\fR system /* The \fBmaildir\fR structure appears in the \fBqmail\fR system
/* by Daniel Bernstein. /* by Daniel Bernstein.
/* SEE ALSO /* SEE ALSO
/* regexp_table(5) POSIX regular expression table format /* regexp_table(5) POSIX regular expression table format
/* pcre_table(5) Perl Compatible Regular Expression table format /* pcre_table(5) Perl Compatible Regular Expression table format
/* bounce(8) non-delivery status reports /* bounce(8) non-delivery status reports
/* syslogd(8) system logging /* syslogd(8) system logging