# 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.

# 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
