Postfix Local Delivery

There are a number of additional considerations when delivering mail locally through Postfix.


Mail Manipulations

Mail is delivered to a user-specific folder under mail_spool_directory, i.e. /var/spool/mail/root. (Alternatively, mail can be delivered into users' home directories via home_mailbox.) The following manipulations are made to locally-delivered mail:

Also, the mailbox is locked while delivery is in progress; if an error occurs, the mailbox is truncated to its original length. Delivery is executed with the permissions of the recipient.


Local Routing

The local part of a destination address is extracted and casefolded to lowercase.

Frequently authentication features in a local delivery attempt.


Customization

Custom Delivery

A custom delivery command can be provided with mailbox_command_maps or mailbox_command.

In most cases, the command is executed with the recipient's permissions. If the recipient is root, a custom delivery command is executed with default_privs.

Qmail

For qmail-style mailboxes, the value of mail_spool_directory or home_mailbox must end in a forward slash (/).

home_mailbox = Maildir/

The following manipulations are made to locally-delivered qmail-style mail:

Forwarding

When attempting local delivery, forward_path is scanned for a forward(5) file (i.e. ~/.forward). These looks like:

[email protected]        # anything after # is ignored
"|/path/to/examplemda"

Forwarded mail is sent as a new message with the Delivered-To: header, to prevent loops.

Note that the second line is only allowable if allow_mail_to_commands is set to:

allow_mail_to_commands = alias,forward,include

The default alias,forward disallows custom commands.


CategoryRicottone

Postfix/LocalDelivery (last edited 2023-06-24 03:50:01 by DominicRicottone)