For the better part of 6 months now I've ran an internal mail system for my business, Security For Us. It was a basic set up using Postfix for SMTP and Courier for IMAP, strict SSL and virtual users via MySQL. This was fine for the most part, and in some ways I still miss it. Total control over accounts set up, being able to filter e-mail your own way and direct it how you want. You don't always get this with using outsourced solutions (i.e.: Google Apps). But, there's also the issues of having the e-mail server(s) constantly available (and when you're running an online business you need it 24x7x365), support is not always easy and then there's also the issue of e-mails being flagged as spam to name a few.