What are some of the Dos and Don't to setting up an email server on Ubuntu? Are there any gotcha's?
+1 for Postfix
Be very careful to make sure that your machine cannot be used as an open relay. If it's for an internal lan only, do not accept connections on your public IP. If it's for an external SMTP server, make sure you don't accept any email not intended for your domain. If you need to provide SMTP for your users while they're outside of the network, either use a VPN (in which case they're not outside the network) or implement authentication (and real authentication, not just POP before SMTP)
Slicehost has fantastic articles that will work with any host, with email specific guides at articles.slicehost.com/email.