A simple way to do all this is:
# if it's already installed. remove it. make sure you mean to do this. or back up your configuration
sudo apt-get purge postfix
sudo apt-get install postfix(and tell it it's an internet server)
edit /etc/postfix/main.cf and set
virtual_alias_maps = hash:/etc/postfix/virtual default_transport = error:outside mail is not deliverable unknown_local_recipient_reject_code = 450
and edit /etc/postfix/virtual, entering any necessary aliases there, e.g.,
@gmail.com tiger bopolissimus@gmail.com bopolissimus gerald@catalyst.net.nz gerald
generate the hash:
postmap /etc/postfix/virtual
and restart postfix:
sudo service postfix restart
and postfix will now accept email from localhost and forward them to the locally aliased users or to root (if no aliases match)
Because I'm paranoid, I also do the following:
iptables -A OUTPUT -p tcp --dport 25 -d 127.0.0.1 -j ACCEPT iptables -A OUTPUT -p tcp --dport 25 -j DROP iptables -A OUTPUT -p tcp --dport 587 -j DROP iptables -A OUTPUT -p tcp --dport 465 -j DROP