2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-09-01 06:35:27 +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,11 +88,22 @@
# 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
# The transport field specifies the name of a mail delivery
# transport (the first name of a mail delivery service entry
# in the Postfix master.cf file).
#
# The interpretation of the nexthop field is transport
# dependent. In the case of SMTP, specify host:service for a
# non-default server port, and use [host] or [host]:port in
# order to disable MX (mail exchanger) DNS lookups. The []
# form can also be used with IP addresses instead of host-
# names.
#
# A null transport and null nexthop result means "do not # A null transport and null nexthop result means "do not
# change": use the delivery transport and nexthop informa- # change": use the delivery transport and nexthop informa-
# tion that would be used when the entire transport table # tion that would be used when the entire transport table
@@ -104,43 +115,36 @@
# A null transport field with non-null nexthop field does # A null transport field with non-null nexthop field does
# not modify the transport information. # not modify the transport information.
# #
# TRANSPORT FIELD # DEFAULT DELIVERY METHOD
# The transport field specifies the name of a mail delivery # When the recipient address or domain does not match a
# transport (the first name of a mail delivery service entry # transport table entry, Postfix uses one of the following
# in the Postfix master.cf file). # delivery methods, with the recipient domain as the default
# nexthop.
# #
# When a null transport field is specified, Postfix uses one # o The recipient domain matches $mydestination or
# of the following transports: # $inet_interfaces. The transport and optional nex-
# thop are specified with $local_transport.
# #
# $local_transport # o The recipient domain matches $virtual_mail-
# The domain matches $mydestination or $inet_inter- # box_domains. The transport and optional nexthop
# faces. # are specified with $virtual_transport.
# #
# $virtual_transport # o The recipient domain matches $relay_domains. The
# The domain matches $virtual_mailbox_domains. # transport and optional nexthop are specified with
# $relay_transport. This overrides the nexthop infor-
# mation that is specified with $relayhost.
# #
# $relay_transport # o All other destinations. the transport and optional
# The domain matches $relay_transport. # nexthop are specified with $relay_transport. This
# # overrides the nexthop information that is specified
# $default_transport # with $relayhost.
# 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
# non-default server port, and use [host] or [host]:port in
# order to disable MX (mail exchanger) DNS lookups. The []
# form can also be used with IP addresses instead of host-
# names.
# #
# 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 :
@@ -215,6 +219,10 @@
# 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,13 +188,17 @@ 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

View File

@@ -173,8 +173,9 @@ 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.
@@ -210,8 +211,9 @@ LOCAL(8) LOCAL(8)
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.

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,8 +164,9 @@ 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

View File

@@ -89,11 +89,22 @@ 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>
The transport field specifies the name of a mail delivery
transport (the first name of a mail delivery service entry
in the Postfix <b>master.cf</b> file).
The interpretation of the nexthop field is transport
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
order to disable MX (mail exchanger) DNS lookups. The []
form can also be used with IP addresses instead of host-
names.
A null <i>transport</i> and null <i>nexthop</i> result means "do not A null <i>transport</i> and null <i>nexthop</i> result means "do not
change": use the delivery transport and nexthop informa- change": use the delivery transport and nexthop informa-
tion that would be used when the entire transport table tion that would be used when the entire transport table
@@ -105,43 +116,36 @@ TRANSPORT(5) TRANSPORT(5)
A null <i>transport</i> field with non-null <i>nexthop</i> field does A null <i>transport</i> field with non-null <i>nexthop</i> field does
not modify the transport information. not modify the transport information.
<b>TRANSPORT</b> <b>FIELD</b> <b>DEFAULT</b> <b>DELIVERY</b> <b>METHOD</b>
The transport field specifies the name of a mail delivery When the recipient address or domain does not match a
transport (the first name of a mail delivery service entry transport table entry, Postfix uses one of the following
in the Postfix <b>master.cf</b> file). delivery methods, with the recipient domain as the default
nexthop.
When a null transport field is specified, Postfix uses one <b>o</b> The recipient domain matches <b>$mydestination</b> or
of the following transports: <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>$local</b><i>_</i><b>transport</b> <b>o</b> The recipient domain matches <b>$virtual</b><i>_</i><b>mail-</b>
The domain matches <b>$mydestination</b> or <b>$inet</b><i>_</i><b>inter-</b> <b>box</b><i>_</i><b>domains</b>. The transport and optional nexthop
<b>faces</b>. are specified with <b>$virtual</b><i>_</i><b>transport</b>.
<b>$virtual</b><i>_</i><b>transport</b> <b>o</b> The recipient domain matches <b>$relay</b><i>_</i><b>domains</b>. The
The domain matches <b>$virtual</b><i>_</i><b>mailbox</b><i>_</i><b>domains</b>. 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>$relay</b><i>_</i><b>transport</b> <b>o</b> All other destinations. the transport and optional
The domain matches <b>$relay</b><i>_</i><b>transport</b>. nexthop are specified with <b>$relay</b><i>_</i><b>transport</b>. This
overrides the nexthop information that is specified
<b>$default</b><i>_</i><b>transport</b> with <b>$relayhost</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
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 []
form can also be used with IP addresses instead of host-
names.
<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>
@@ -216,6 +220,10 @@ TRANSPORT(5) TRANSPORT(5)
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

@@ -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.
/* /*