I own a small web hosting company. I am looking for advice on setting up a high-availablilty email system for some of my clients. Hopefully some of you can offer your expert advice on best practices, etc.

Goals for high availability:
1. High availability access for end users to access their email boxes via POP, SMTP, IMAP, and/or web-based email client.

2. High availability of server system to receive and deliver messages to local users' mailboxes (not bounce or timeout) with high reliability.

I am not concerned about high loads - this is a small set of local users (less than 50), but concerned with high availability in the event of an internet or server failure.

I would prefer Linux-based open-source solutions. We currently run Postfix but are open to change if necessary.

If you've done this before, how did you do it? If you have any advice I am very appreciative!