Users may put a .forward file in their home directory. If this file exists, smtpd(8) forwards email to the destinations specified therein.
A .forward file contains a list of expansion values, as described in aliases(5). Each expansion value should be on a line by itself. However, the .forward mechanism differs from the aliases mechanism in that it disallows file inclusion (:include:) and it performs expansion under the user ID of the .forward file owner.
Permissions on the .forward file are very strict and expansion is rejected if the file is group or world-writable; if the home directory is group writeable; or if the file is not owned by the user.
Users should avoid editing directly the .forward file to prevent delivery failures from occurring if a message arrives while the file is not fully written. The best option is to use a temporary file and use the mv(1) command to atomically overwrite the former .forward. Alternatively, setting the sticky(8) bit on the home directory will cause the .forward lookup to return a temporary failure, causing mails to be deferred.
Email forwarding information.
The following file forwards mail to “firstname.lastname@example.org”, and pipes the same mail to “examplemda”.
# empty lines are ignored email@example.com # anything after # is ignored "|/path/to/examplemda"
mailaddr(7), smtpd.opensmtpd(8), table(5).