How to Build a Self Contained Email Environment

A common function of many programs is the ability to send email. When working on development projects or doing product demos which utilize email, having an environment you know will work can be critical. For these situations, having a completely self contained email system, that is all emails “sent” never leave the local machine, is the answer.