Sign up ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Possible Duplicate:
100% uptime for a web application

I wish to create my own personal email server. I can't have any downtime - so I have 3 machines at different IP adresses around the city setup for redundancy.

My goals are:

  1. Dynamic IP's using dyndns for security and ease of setup. (already done)
  2. Redundacy so all servers are in sync at all times (when online)
  3. Security of some sort
  4. Advanced mail settings (imap or better) - so that I can have multiple devices of all types sync email read/unread/deletion etc.
  5. Instant mail receiving (as soon as a message is received on the server - it instantly is received on all devices as well.

If anyone here can point me in the right direction that would be great.

share|improve this question

marked as duplicate by GregD, EEAA, Shane Madden, Michael Hampton, voretaq7 Aug 7 '12 at 3:12

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

Zero downtime is a myth. Sorry, but it's an impossibility. Look at how much money Amazon/Google/et. al. Have to throw at their infrastructure and development, and they still have downtime. – EEAA Aug 7 '12 at 2:42
I should also's obvious you have a lot to learn about systems administration, networking and email services. I would strongly recommend that you start with a single email server. Run that for long enough for you to feel comfortable with its operation, backup, restore, etc. If you go forward with the system you propose, you'll quickly get underwater, and all the redundancy, security, and reliability you desire will be squandered. – EEAA Aug 7 '12 at 2:54
I am comfortable quickly being underwater - I won't actually transition to using the servers until I have everything working. Also, my gmail hasn't dropped an email in 5 years. Also, this is what I do...blindly attack huge projects and kill them. I understand this is not for everyone, but when I want something - I want it. And will get it. – FEA5T Aug 7 '12 at 3:14
@FEAST email is more complicated than you think it is (As an example, you state your gmail account "hasn't dropped an email in 5 years" -- If you truly understand email you know there is no way you can make that statement with any degree of confidence). The notes on the linked questions will help get you thinking in the right direction, but reliable redundancy is a hard thing to achieve. This something you should spec and design carefully rather than "blindly attack". – voretaq7 Aug 7 '12 at 3:22
@FEAST - that comment highlights how much you need to learn about email. If your server is down and someone sends you an email, it will not be lost. SMTP was designed with non-reliable networks in mind. If the sending sever is not able to deliver to the MX, it'll just queue the email and retry. Most will retry several times, up to 48 hours before sending an NDR to the sender. If your server comes up before the message timeout, your message will be delivered without issue. – EEAA Aug 7 '12 at 3:33

1 Answer 1

Avoid "reinventing the wheel"...

It's possible to obtain high-availability mail through less-complication means.

There are some redundancies already built into the SMTP protocol (retries, MX priority, etc.). You can get much of the same protection by using a backup MX that can spool if your primary delivery system is unavailable.

IMAP does what you're asking in terms of synchronization. Microsoft Exchange MAPI is a little more elegant.

The path of least resistance (and $cost) is probably obtaining an account on a hosted service, for example, hosted Microsoft Exchange available through any number of cloud providers. Let them handle the redundancy. It doesn't have to be Microsoft. There are plenty of Linux-based mail hosting solutions available, too.


How to make sure that in case of our mail server being unreachable (connection down) mail still gets queued and resent once it's back up?

How to build a high availability Postfix system?

share|improve this answer
I should have been more clear. I'm not letting anyone else near my data - especially a cloud service. MAPI/IMAP sounds good, and what do you mean by "spool"? Only one of these computers will be run 24/7 and it is still prone to common outages for various reasons...I need things to be up and running when the main machine is offline. Not just spooling - waiting for the main machine to hop back up. Thanks for the help by the way. I hope you guys can pinpoint exactly what I need so that I can make this happen. – FEA5T Aug 7 '12 at 1:30
By spool, I mean that you can use a backup external MX relay or service to hold mail in the event that your primary mail server is down. See my edits above. – ewwhite Aug 7 '12 at 1:39
Unfortunately the mail server could be down for days at a time and I need the backup servers to be able to send/receive mail in real time without the primary server. Postfix looks like the answer - and I have multiple domains. Thanks again for the help. Can I host my own MAPI server or does that require a service from microsoft? – FEA5T Aug 7 '12 at 2:04

Not the answer you're looking for? Browse other questions tagged or ask your own question.