To set up aliases, either edit the file specified by the alias_maps setting in main.cf (/etc/aliases by default) and then run newaliases (or
postalias <alias file>, e.g.
postalias /etc/aliases) to update the database, or else use Webmin (Servers → Postfix Mail Server → "Mail Aliases" icon → "Create a new alias" link).
There is also a
/etc/postfix/virtual file for aliases in virtual domains; it can be edited manually, but you need to run
postmap /etc/postfix/virtual after modifying it.
By default, virtual aliases seem to get looked up only when email comes from the outside; locally generated emails are "returned" as undeliverable with the error message "Diagnostic-Code: x-unix; user unknown"
The following change in main.cf solves that problem –
- change: receive_override_options = no_address_mappings
- to this: receive_override_options =
– but creates a new one, in that externally-sourced messages are now delivered twice (or four times if addressed directly to a virtual user instead of a virtual alias).
Someone who understands the internal structure of postfix could probably figure out what this means (and how to fix it), but I'm still working on it.
To set up a catch-all address, edit main.cf and set the following parameters:
The syntax for <whereToSend> is explained here.
luser_relay = $email@example.com
- forwards all email addressed to "firstname.lastname@example.org" to "email@example.com"
luser_relay = firstname.lastname@example.org
- forwards all email addressed to invalid users to "email@example.com".
This page mentions some other parameters but neglects the ones above.