# 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