39
36
where <i>recipient</i> is the full recipient address.
41
38
<b>UNIX MAILBOX FORMAT</b>
42
When the mailbox location does not end in <b>/</b>, the message
43
is delivered in UNIX mailbox format. This format stores
44
multiple messages in one textfile.
46
The <a href="virtual.8.html"><b>virtual</b>(8)</a> delivery agent prepends a "<b>From</b> <i>sender</i>
47
<i>time</i><b>_</b><i>stamp</i>" envelope header to each message, prepends a
48
<b>Delivered-To:</b> message header with the envelope recipient
49
address, prepends an <b>X-Original-To:</b> header with the recip-
50
ient address as given to Postfix, prepends a <b>Return-Path:</b>
51
message header with the envelope sender address, prepends
52
a > character to lines beginning with "<b>From</b> ", and appends
55
The mailbox is locked for exclusive access while delivery
56
is in progress. In case of problems, an attempt is made to
57
truncate the mailbox to its original length.
39
When the mailbox location does not end in <b>/</b>, the message is delivered
40
in UNIX mailbox format. This format stores multiple messages in one
43
The <a href="virtual.8.html"><b>virtual</b>(8)</a> delivery agent prepends a "<b>From</b> <i>sender time</i><b>_</b><i>stamp</i>" enve-
44
lope header to each message, prepends a <b>Delivered-To:</b> message header
45
with the envelope recipient address, prepends an <b>X-Original-To:</b> header
46
with the recipient address as given to Postfix, prepends a <b>Return-Path:</b>
47
message header with the envelope sender address, prepends a > character
48
to lines beginning with "<b>From</b> ", and appends an empty line.
50
The mailbox is locked for exclusive access while delivery is in
51
progress. In case of problems, an attempt is made to truncate the mail-
52
box to its original length.
59
54
<b>QMAIL MAILDIR FORMAT</b>
60
When the mailbox location ends in <b>/</b>, the message is deliv-
61
ered in qmail <b>maildir</b> format. This format stores one mes-
64
The <a href="virtual.8.html"><b>virtual</b>(8)</a> delivery agent prepends a <b>Delivered-To:</b>
65
message header with the final envelope recipient address,
66
prepends an <b>X-Original-To:</b> header with the recipient
67
address as given to Postfix, and prepends a <b>Return-Path:</b>
68
message header with the envelope sender address.
70
By definition, <b>maildir</b> format does not require applica-
71
tion-level file locking during mail delivery or retrieval.
55
When the mailbox location ends in <b>/</b>, the message is delivered in qmail
56
<b>maildir</b> format. This format stores one message per file.
58
The <a href="virtual.8.html"><b>virtual</b>(8)</a> delivery agent prepends a <b>Delivered-To:</b> message header
59
with the final envelope recipient address, prepends an <b>X-Original-To:</b>
60
header with the recipient address as given to Postfix, and prepends a
61
<b>Return-Path:</b> message header with the envelope sender address.
63
By definition, <b>maildir</b> format does not require application-level file
64
locking during mail delivery or retrieval.
73
66
<b>MAILBOX OWNERSHIP</b>
74
Mailbox ownership is controlled by the <b><a href="postconf.5.html#virtual_uid_maps">virtual_uid_maps</a></b>
75
and <b><a href="postconf.5.html#virtual_gid_maps">virtual_gid_maps</a></b> lookup tables, which are indexed with
76
the full recipient address. Each table provides a string
77
with the numerical user and group ID, respectively.
67
Mailbox ownership is controlled by the <b><a href="postconf.5.html#virtual_uid_maps">virtual_uid_maps</a></b> and <b><a href="postconf.5.html#virtual_gid_maps">vir</a>-</b>
68
<b><a href="postconf.5.html#virtual_gid_maps">tual_gid_maps</a></b> lookup tables, which are indexed with the full recipient
69
address. Each table provides a string with the numerical user and group
79
The <b><a href="postconf.5.html#virtual_minimum_uid">virtual_minimum_uid</a></b> parameter imposes a lower bound on
80
numerical user ID values that may be specified in any <b><a href="postconf.5.html#virtual_uid_maps">vir</a>-</b>
81
<b><a href="postconf.5.html#virtual_uid_maps">tual_uid_maps</a></b>.
72
The <b><a href="postconf.5.html#virtual_minimum_uid">virtual_minimum_uid</a></b> parameter imposes a lower bound on numerical
73
user ID values that may be specified in any <b><a href="postconf.5.html#virtual_uid_maps">virtual_uid_maps</a></b>.
83
75
<b>CASE FOLDING</b>
84
All delivery decisions are made using the full recipient
85
address, folded to lower case. See also the next section
86
for a few exceptions with optional address extensions.
76
All delivery decisions are made using the full recipient address,
77
folded to lower case. See also the next section for a few exceptions
78
with optional address extensions.
88
80
<b>TABLE SEARCH ORDER</b>
89
Normally, a lookup table is specified as a text file that
90
serves as input to the <a href="postmap.1.html"><b>postmap</b>(1)</a> command. The result, an
91
indexed file in <b>dbm</b> or <b>db</b> format, is used for fast search-
92
ing by the mail system.
94
The search order is as follows. The search stops upon the
95
first successful lookup.
97
<b>o</b> When the recipient has an optional address exten-
98
sion the <i>user+extension@domain.tld</i> address is
101
With Postfix versions before 2.1, the optional
102
address extension is always ignored.
104
<b>o</b> The <i>user@domain.tld</i> address, without address exten-
105
sion, is looked up next.
81
Normally, a lookup table is specified as a text file that serves as
82
input to the <a href="postmap.1.html"><b>postmap</b>(1)</a> command. The result, an indexed file in <b>dbm</b> or
83
<b>db</b> format, is used for fast searching by the mail system.
85
The search order is as follows. The search stops upon the first suc-
88
<b>o</b> When the recipient has an optional address extension the
89
<i>user+extension@domain.tld</i> address is looked up first.
91
With Postfix versions before 2.1, the optional address extension
94
<b>o</b> The <i>user@domain.tld</i> address, without address extension, is
107
97
<b>o</b> Finally, the recipient <i>@domain</i> is looked up.
109
When the table is provided via other means such as NIS,
110
LDAP or SQL, the same lookups are done as for ordinary
99
When the table is provided via other means such as NIS, LDAP or SQL,
100
the same lookups are done as for ordinary indexed files.
113
Alternatively, a table can be provided as a regular-
114
expression map where patterns are given as regular expres-
115
sions. In that case, only the full recipient address is
116
given to the regular-expression map.
102
Alternatively, a table can be provided as a regular-expression map
103
where patterns are given as regular expressions. In that case, only the
104
full recipient address is given to the regular-expression map.
119
The <a href="virtual.8.html"><b>virtual</b>(8)</a> delivery agent is not security sensitive,
120
provided that the lookup tables with recipient user/group
121
ID information are adequately protected. This program is
122
not designed to run chrooted.
124
The <a href="virtual.8.html"><b>virtual</b>(8)</a> delivery agent disallows regular expression
125
substitution of $1 etc. in regular expression lookup
126
tables, because that would open a security hole.
128
The <a href="virtual.8.html"><b>virtual</b>(8)</a> delivery agent will silently ignore
129
requests to use the <a href="proxymap.8.html"><b>proxymap</b>(8)</a> server. Instead it will
130
open the table directly. Before Postfix version 2.2, the
131
virtual delivery agent will terminate with a fatal error.
107
The <a href="virtual.8.html"><b>virtual</b>(8)</a> delivery agent is not security sensitive, provided that
108
the lookup tables with recipient user/group ID information are ade-
109
quately protected. This program is not designed to run chrooted.
111
The <a href="virtual.8.html"><b>virtual</b>(8)</a> delivery agent disallows regular expression substitution
112
of $1 etc. in regular expression lookup tables, because that would open
115
The <a href="virtual.8.html"><b>virtual</b>(8)</a> delivery agent will silently ignore requests to use the
116
<a href="proxymap.8.html"><b>proxymap</b>(8)</a> server. Instead it will open the table directly. Before
117
Postfix version 2.2, the virtual delivery agent will terminate with a
134
121
<a href="http://tools.ietf.org/html/rfc822">RFC 822</a> (ARPA Internet Text Messages)
136
123
<b>DIAGNOSTICS</b>
137
Mail bounces when the recipient has no mailbox or when the
138
recipient is over disk quota. In all other cases, mail for
139
an existing recipient is deferred and a warning is logged.
141
Problems and transactions are logged to <b>syslogd</b>(8). Cor-
142
rupted message files are marked so that the queue manager
143
can move them to the <b>corrupt</b> queue afterwards.
145
Depending on the setting of the <b><a href="postconf.5.html#notify_classes">notify_classes</a></b> parameter,
146
the postmaster is notified of bounces and of other trou-
124
Mail bounces when the recipient has no mailbox or when the recipient is
125
over disk quota. In all other cases, mail for an existing recipient is
126
deferred and a warning is logged.
128
Problems and transactions are logged to <b>syslogd</b>(8). Corrupted message
129
files are marked so that the queue manager can move them to the <b>corrupt</b>
132
Depending on the setting of the <b><a href="postconf.5.html#notify_classes">notify_classes</a></b> parameter, the postmas-
133
ter is notified of bounces and of other trouble.
150
This delivery agent supports address extensions in email
151
addresses and in lookup table keys, but does not propagate
152
address extension information to the result of table
136
This delivery agent supports address extensions in email addresses and
137
in lookup table keys, but does not propagate address extension informa-
138
tion to the result of table lookup.
155
Postfix should have lookup tables that can return multiple
156
result attributes. In order to avoid the inconvenience of
157
maintaining three tables, use an LDAP or MYSQL database.
140
Postfix should have lookup tables that can return multiple result
141
attributes. In order to avoid the inconvenience of maintaining three
142
tables, use an LDAP or MYSQL database.
159
144
<b>CONFIGURATION PARAMETERS</b>
160
Changes to <a href="postconf.5.html"><b>main.cf</b></a> are picked up automatically, as <a href="virtual.8.html"><b>vir-</b></a>
161
<a href="virtual.8.html"><b>tual</b>(8)</a> processes run for only a limited amount of time.
162
Use the command "<b>postfix reload</b>" to speed up a change.
145
Changes to <a href="postconf.5.html"><b>main.cf</b></a> are picked up automatically, as <a href="virtual.8.html"><b>virtual</b>(8)</a> processes
146
run for only a limited amount of time. Use the command "<b>postfix reload</b>"
147
to speed up a change.
164
The text below provides only a parameter summary. See
165
<a href="postconf.5.html"><b>postconf</b>(5)</a> for more details including examples.
149
The text below provides only a parameter summary. See <a href="postconf.5.html"><b>postconf</b>(5)</a> for
150
more details including examples.
167
152
<b>MAILBOX DELIVERY CONTROLS</b>
168
153
<b><a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> (empty)</b>
169
A prefix that the <a href="virtual.8.html"><b>virtual</b>(8)</a> delivery agent
170
prepends to all pathname results from $<a href="postconf.5.html#virtual_mailbox_maps">vir</a>-
171
<a href="postconf.5.html#virtual_mailbox_maps">tual_mailbox_maps</a> table lookups.
154
A prefix that the <a href="virtual.8.html"><b>virtual</b>(8)</a> delivery agent prepends to all
155
pathname results from $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> table lookups.
173
157
<b><a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> (empty)</b>
174
Optional lookup tables with all valid addresses in
175
the domains that match $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
158
Optional lookup tables with all valid addresses in the domains
159
that match $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
177
161
<b><a href="postconf.5.html#virtual_minimum_uid">virtual_minimum_uid</a> (100)</b>
178
The minimum user ID value that the <a href="virtual.8.html"><b>virtual</b>(8)</a>
179
delivery agent accepts as a result from $<a href="postconf.5.html#virtual_uid_maps">vir</a>-
180
<a href="postconf.5.html#virtual_uid_maps">tual_uid_maps</a> table lookup.
162
The minimum user ID value that the <a href="virtual.8.html"><b>virtual</b>(8)</a> delivery agent
163
accepts as a result from $<a href="postconf.5.html#virtual_uid_maps">virtual_uid_maps</a> table lookup.
182
165
<b><a href="postconf.5.html#virtual_uid_maps">virtual_uid_maps</a> (empty)</b>
183
Lookup tables with the per-recipient user ID that
184
the <a href="virtual.8.html"><b>virtual</b>(8)</a> delivery agent uses while writing to
185
the recipient's mailbox.
166
Lookup tables with the per-recipient user ID that the <a href="virtual.8.html"><b>virtual</b>(8)</a>
167
delivery agent uses while writing to the recipient's mailbox.
187
169
<b><a href="postconf.5.html#virtual_gid_maps">virtual_gid_maps</a> (empty)</b>
188
Lookup tables with the per-recipient group ID for
189
<a href="virtual.8.html"><b>virtual</b>(8)</a> mailbox delivery.
170
Lookup tables with the per-recipient group ID for <a href="virtual.8.html"><b>virtual</b>(8)</a>
191
173
Available in Postfix version 2.0 and later:
193
175
<b><a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> ($<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>)</b>
194
Postfix is final destination for the specified list
195
of domains; mail is delivered via the $<a href="postconf.5.html#virtual_transport">vir</a>-
196
<a href="postconf.5.html#virtual_transport">tual_transport</a> mail delivery transport.
176
Postfix is final destination for the specified list of domains;
177
mail is delivered via the $<a href="postconf.5.html#virtual_transport">virtual_transport</a> mail delivery
198
180
<b><a href="postconf.5.html#virtual_transport">virtual_transport</a> (virtual)</b>
199
The default mail delivery transport and next-hop
200
destination for final delivery to domains listed
201
with $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
181
The default mail delivery transport and next-hop destination for
182
final delivery to domains listed with $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
203
184
Available in Postfix version 2.5.3 and later:
205
186
<b><a href="postconf.5.html#strict_mailbox_ownership">strict_mailbox_ownership</a> (yes)</b>
206
Defer delivery when a mailbox file is not owned by
187
Defer delivery when a mailbox file is not owned by its recipi-
209
190
<b>LOCKING CONTROLS</b>
210
191
<b><a href="postconf.5.html#virtual_mailbox_lock">virtual_mailbox_lock</a> (see 'postconf -d' output)</b>
211
How to lock a UNIX-style <a href="virtual.8.html"><b>virtual</b>(8)</a> mailbox before
192
How to lock a UNIX-style <a href="virtual.8.html"><b>virtual</b>(8)</a> mailbox before attempting
214
195
<b><a href="postconf.5.html#deliver_lock_attempts">deliver_lock_attempts</a> (20)</b>
215
The maximal number of attempts to acquire an exclu-
216
sive lock on a mailbox file or <a href="bounce.8.html"><b>bounce</b>(8)</a> logfile.
196
The maximal number of attempts to acquire an exclusive lock on a
197
mailbox file or <a href="bounce.8.html"><b>bounce</b>(8)</a> logfile.
218
199
<b><a href="postconf.5.html#deliver_lock_delay">deliver_lock_delay</a> (1s)</b>
219
The time between attempts to acquire an exclusive
220
lock on a mailbox file or <a href="bounce.8.html"><b>bounce</b>(8)</a> logfile.
200
The time between attempts to acquire an exclusive lock on a
201
mailbox file or <a href="bounce.8.html"><b>bounce</b>(8)</a> logfile.
222
203
<b><a href="postconf.5.html#stale_lock_time">stale_lock_time</a> (500s)</b>
223
The time after which a stale exclusive mailbox
204
The time after which a stale exclusive mailbox lockfile is
226
207
<b>RESOURCE AND RATE CONTROLS</b>
227
<b><a href="postconf.5.html#virtual_destination_concurrency_limit">virtual_destination_concurrency_limit</a> ($<a href="postconf.5.html#default_destination_concurrency_limit">default_destina</a>-</b>
228
<b><a href="postconf.5.html#default_destination_concurrency_limit">tion_concurrency_limit</a>)</b>
229
The maximal number of parallel deliveries to the
230
same destination via the virtual message delivery
208
<b><a href="postconf.5.html#virtual_destination_concurrency_limit">virtual_destination_concurrency_limit</a> ($<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concur</a>-</b>
209
<b><a href="postconf.5.html#default_destination_concurrency_limit">rency_limit</a>)</b>
210
The maximal number of parallel deliveries to the same destina-
211
tion via the virtual message delivery transport.
233
<b><a href="postconf.5.html#virtual_destination_recipient_limit">virtual_destination_recipient_limit</a> ($<a href="postconf.5.html#default_destination_recipient_limit">default_destina</a>-</b>
234
<b><a href="postconf.5.html#default_destination_recipient_limit">tion_recipient_limit</a>)</b>
235
The maximal number of recipients per message for
236
the virtual message delivery transport.
213
<b><a href="postconf.5.html#virtual_destination_recipient_limit">virtual_destination_recipient_limit</a> ($<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipi</a>-</b>
214
<b><a href="postconf.5.html#default_destination_recipient_limit">ent_limit</a>)</b>
215
The maximal number of recipients per message for the virtual
216
message delivery transport.
238
218
<b><a href="postconf.5.html#virtual_mailbox_limit">virtual_mailbox_limit</a> (51200000)</b>
239
The maximal size in bytes of an individual <a href="virtual.8.html"><b>vir-</b></a>
240
<a href="virtual.8.html"><b>tual</b>(8)</a> mailbox or maildir file, or zero (no
219
The maximal size in bytes of an individual <a href="virtual.8.html"><b>virtual</b>(8)</a> mailbox or
220
maildir file, or zero (no limit).
243
222
<b>MISCELLANEOUS CONTROLS</b>
244
223
<b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
245
The default location of the Postfix <a href="postconf.5.html">main.cf</a> and
246
<a href="master.5.html">master.cf</a> configuration files.
224
The default location of the Postfix <a href="postconf.5.html">main.cf</a> and <a href="master.5.html">master.cf</a> con-
248
227
<b><a href="postconf.5.html#daemon_timeout">daemon_timeout</a> (18000s)</b>
249
How much time a Postfix daemon process may take to
250
handle a request before it is terminated by a
251
built-in watchdog timer.
228
How much time a Postfix daemon process may take to handle a
229
request before it is terminated by a built-in watchdog timer.
253
231
<b><a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> (2)</b>
254
The maximal number of digits after the decimal
255
point when logging sub-second delay values.
232
The maximal number of digits after the decimal point when log-
233
ging sub-second delay values.
257
235
<b><a href="postconf.5.html#ipc_timeout">ipc_timeout</a> (3600s)</b>
258
The time limit for sending or receiving information
259
over an internal communication channel.
236
The time limit for sending or receiving information over an
237
internal communication channel.
261
239
<b><a href="postconf.5.html#max_idle">max_idle</a> (100s)</b>
262
The maximum amount of time that an idle Postfix
263
daemon process waits for an incoming connection
264
before terminating voluntarily.
240
The maximum amount of time that an idle Postfix daemon process
241
waits for an incoming connection before terminating voluntarily.
266
243
<b><a href="postconf.5.html#max_use">max_use</a> (100)</b>
267
The maximal number of incoming connections that a
268
Postfix daemon process will service before termi-
244
The maximal number of incoming connections that a Postfix daemon
245
process will service before terminating voluntarily.
271
247
<b><a href="postconf.5.html#process_id">process_id</a> (read-only)</b>
272
The process ID of a Postfix command or daemon
248
The process ID of a Postfix command or daemon process.
275
250
<b><a href="postconf.5.html#process_name">process_name</a> (read-only)</b>
276
The process name of a Postfix command or daemon
251
The process name of a Postfix command or daemon process.
279
253
<b><a href="postconf.5.html#queue_directory">queue_directory</a> (see 'postconf -d' output)</b>
280
The location of the Postfix top-level queue direc-
254
The location of the Postfix top-level queue directory.
283
256
<b><a href="postconf.5.html#syslog_facility">syslog_facility</a> (mail)</b>
284
257
The syslog facility of Postfix logging.
286
259
<b><a href="postconf.5.html#syslog_name">syslog_name</a> (see 'postconf -d' output)</b>
287
The mail system name that is prepended to the
288
process name in syslog records, so that "smtpd"
289
becomes, for example, "postfix/smtpd".
260
The mail system name that is prepended to the process name in
261
syslog records, so that "smtpd" becomes, for example, "post-
292
265
<a href="qmgr.8.html">qmgr(8)</a>, queue manager