1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
|
# $NetBSD: sample-local.cf,v 1.3 2003/03/08 19:43:57 perry Exp $
#
# DO NOT EDIT THIS FILE. EDIT THE MAIN.CF FILE INSTEAD. THE STUFF
# HERE JUST SERVES AS AN EXAMPLE.
#
# This file contains example settings of Postfix configuration
# parameters that control local delivery.
#
# See the sample-aliases.cf file for parameters that are specific to
# alias database lookup.
#
# Mailbox delivery is controlled by a series of parameters. The
# precedence, from highest to lowest priority: mailbox_transport,
# mailbox_command_maps, mailbox_command, home_mailbox.
#
# MISCELLANEOUS PARAMETERS
#
# The biff parameter specifies whether or not to contact the biff
# server. This server sends "new mail" notifications to users who
# have requested new mail notification with "biff y".
#
# For compatibility reasons this feature is on by default. On systems
# with lots of interactive users, this "protocol" can be a real
# performance pig. Specify "biff = no" to disable.
#
#biff = no
biff = yes
# The require_home_directory parameter controls whether a local
# recipient's home directory must exist before mail delivery is
# attempted. By default this test is disabled. It can be useful for
# environments that import home directories to the file server (NOT
# RECOMMENDED).
#
require_home_directory = no
#
# OVERRIDE LOCAL TRANSPORT
#
# The local_transport parameter specifies the name of the transport
# for delivery to destinations that match $mydestination or
# $inet_interfaces.
#
# By default, local mail is delivered to the transport called "local",
# which is just the name of a service that is defined the master.cf file.
#
# Specify a string of the form transport:nexthop, where transport is
# the name of a mail delivery transport defined in master.cf. The
# :nexthop part is optional. For more details see the sample transports
# file.
#
# Beware: if you override the default local delivery agent then you
# also need to review the section "REJECTING UNKNOWN LOCAL USERS"
# in the main.cf file, otherwise the SMTP server will reject mail.
#
local_transport = lmtp:unix:/file/name
local_transport = local
#
# SECURITY CONTROLS
#
# The local_command_shell parameter controls what shell will be used
# for delivery to external command. By default, external commands
# are executed directly; commands are given to given to /bin/sh only
# when they contain shell meta characters or shell built-in commands.
#
# Specify a different shell when you need more control over what
# programs can be run from e.g. .forward files.
#
# "sendmail's restricted shell" (smrsh) is what most people will use
# (smrsh is part of recent sendmail distributions)
#
# Note: when a shell is specified, it is invoked even when the
# command contains no shell built-in commands or meta characters.
#
#local_command_shell = /some/where/smrsh -c
# The forward_path parameter specifies a search list. The first file
# that is found is used.
#
# The following expansions are done on forward_path: $user (recipient
# username), $shell (recipient shell), $home (recipient home directory),
# $recipient (full recipient address), $extension (recipient address
# extension), $domain (recipient domain), $local (entire recipient
# localpart), $recipient_delimiter. Specify ${name?value} or
# ${name:value} to expand value only when $name does (does not) exist.
#
#forward_path = /var/forward/$user
#forward_path = /var/forward/$user/.forward$recipient_delimiter$extension,
# /var/forward/$user/.forward
forward_path = $home/.forward$recipient_delimiter$extension,$home/.forward
# The allow_mail_to_commands parameter restricts mail delivery to
# external commands. The default is to disallow delivery to "|command"
# in :include: files.
#
#allow_mail_to_commands = alias,forward,include
allow_mail_to_commands = alias,forward
# The allow_mail_to_files parameter restricts mail delivery to external
# file. The default is to disallow delivery to /file/name in :include:
# files.
#
#allow_mail_to_files = alias,forward,include
allow_mail_to_files = alias,forward
# The default_privs parameter specifies the default rights used by
# the local delivery agent for delivery to external file or command.
# These rights are used in the absence of a recipient user context.
# DO NOT SPECIFY A PRIVILEGED USER OR THE POSTFIX OWNER.
#
default_privs = nobody
#
# MAILBOX DELIVERY CONTROLS
#
# The home_mailbox parameter specifies the optional pathname of a
# mailbox file relative to a user's home directory. The default
# mailbox file is /var/spool/mail/user or /var/mail/user. Specify
# "Maildir/" for qmail-style delivery (the / is required).
#
#home_mailbox = Mailbox
#home_mailbox = Maildir/
home_mailbox =
# The luser_relay parameter specifies an optional destination address
# for unknown recipients. By default, mail for unknown@$mydestination
# and unknown@[$inet_interfaces] is returned as undeliverable.
#
# The following expansions are done on luser_relay: $user (recipient
# username), $shell (recipient shell), $home (recipient home directory),
# $recipient (full recipient address), $extension (recipient address
# extension), $domain (recipient domain), $local (entire recipient
# localpart), $recipient_delimiter. Specify ${name?value} or
# ${name:value} to expand value only when $name does (does not) exist.
#
# luser_relay works only for the default Postfix local delivery agent.
#
# NOTE: if you use this feature for accounts not in the UNIX password
# file, then you must specify "local_recipient_maps =" (i.e. empty) in
# the main.cf file, otherwise the SMTP server will reject mail for
# non-UNIX accounts with "User unknown in local recipient table".
#
#luser_relay = $user@other.host
#luser_relay = $local@other.host
#luser_relay = admin+$local
# The mail_spool_directory parameter specifies the directory where
# UNIX-style mailboxes are kept. The default setting depends on the
# system type. Specify a name ending in / for maildir-style delivery.
#
#mail_spool_directory = /var/mail
#mail_spool_directory = /var/spool/mail
# The mailbox_command parameter specifies the optional external
# command to use instead of mailbox delivery. The command is run
# as the recipient with proper HOME, SHELL and LOGNAME environment settings.
# Exception: delivery for root is done as $default_user.
#
# Other environment variables of interest: USER (recipient username),
# EXTENSION (address extension), DOMAIN (domain part of address),
# LOCAL (the address localpart), RECIPIENT and SENDER.
#
# Unlike other Postfix configuration parameters, the mailbox_command
# parameter is not subjected to $parameter substitutions. This is to
# make it easier to specify shell syntax (see example below).
#
# Avoid shell meta characters because they will force Postfix to run
# an expensive shell process. Procmail alone is expensive enough.
#
# IF YOU USE THIS TO DELIVER MAIL SYSTEM-WIDE, YOU MUST SET UP AN
# ALIAS THAT FORWARDS MAIL FOR ROOT TO A REAL USER.
#
#mailbox_command = /some/where/procmail
#mailbox_command = /some/where/procmail -a "$EXTENSION"
#mailbox_command = /some/where/maildrop -d "$USER" -f "$SENDER" "$EXTENSION"
mailbox_command =
# The mailbox_command_maps allows you to specify a per-user mailbox
# command. The maps are keyed by username (not including the domain).
# Specify one or more maps. If a user is not found in the maps then
# lower precedence delivery mechanisms take effect. See the top of
# this file for the precedences of mailbox delivery mechanisms.
#
#mailbox_command_maps = hash:/etc/postfix/mailbox_commands
# The mailbox_transport specifies the optional transport in master.cf
# to use after processing aliases and .forward files. This parameter
# has precedence over the mailbox_command, fallback_transport and
# luser_relay parameters.
#
# Specify a string of the form transport:nexthop, where transport is
# the name of a mail delivery transport defined in master.cf. The
# :nexthop part is optional. For more details see the sample transport
# configuration file.
#
# NOTE: if you use this feature for accounts not in the UNIX password
# file, then you must update the "local_recipient_maps" setting in
# the main.cf file, otherwise the SMTP server will reject mail for
# non-UNIX accounts with "User unknown in local recipient table".
#
#mailbox_transport = lmtp:unix:/file/name
#mailbox_transport = cyrus
mailbox_transport =
# The fallback_transport specifies the optional transport in master.cf
# to use for recipients that are not found in the UNIX passwd database.
# This parameter has precedence over the luser_relay parameter.
#
# Specify a string of the form transport:nexthop, where transport is
# the name of a mail delivery transport defined in master.cf. The
# :nexthop part is optional. For more details see the sample transport
# configuration file.
#
# NOTE: if you use this feature for accounts not in the UNIX password
# file, then you must update the "local_recipient_maps" setting in
# the main.cf file, otherwise the SMTP server will reject mail for
# non-UNIX accounts with "User unknown in local recipient table".
#
#fallback_transport = lmtp:unix:/file/name
#fallback_transport = cyrus
fallback_transport =
#
# RESOURCE CONTROLS
#
# The local_destination_concurrency_limit parameter limits the number
# of parallel deliveries to the same local recipient.
#
# The default limit is taken from the default_destination_concurrency_limit
# parameter. I recommend a low limit of 2, just in case someone has
# an expensive shell command in a .forward file or in an alias (e.g.,
# a mailing list manager). You don't want to run lots of those.
#
local_destination_concurrency_limit = 2
# The mailbox_size_limit parameter controls the maximal size of a
# mailbox or maildir file (in fact, it limits the size of any file
# that is written to upon local delivery) The default is 50 MBytes.
# This limit must not be set smaller than the message size limit.
#
mailbox_size_limit = 51200000
# The local_destination_recipient_limit parameter limits the number
# of recipients per local message delivery. The default limit is
# taken from the default_destination_recipient_limit parameter.
#
# However, the queue manager by design limits the number of recipients
# per local delivery request to exactly 1, so this parameter has no
# effect.
#
local_destination_recipient_limit = 1
# DELIVERED-TO
#
# The prepend_delivered_header controls when the Postfix local delivery
# agent should prepend a Delivered-To: message header.
#
# By default, the Postfix local delivery agent prepends a Delivered-To:
# header when forwarding mail and when delivering to file (mailbox)
# and command. Turning off the Delivered-To: header when forwarding
# mail is not recommended.
#
#prepend_delivered_header = command, file, forward
#prepend_delivered_header = forward
|