If I'm designing a server infrastructure to support an email server. Should the reception system support fail tolerance. I think that given the type of transactions it'll manage, heavy on processing and filtering, but not on disk (there's another system to storage). I think that it would be very expensive to do that. But don't know.
Also, given the fact that when I send an email and it doesn't arrive to the recipient, the send system automatically retry. I think a cluster for availability is necessary, but not necessary fail tolerance (to stores the state).
Any advice?
EDIT
When I'm talking about "reception system" I means the server pointed on the MX records. I'm talking about 20.000 users. Is an academic entity so the mail is very important.
There are almost 1.000.000 new emails per day BUT only the 30.000 are useless (the rest is SPAM or Malware).
I'm asking specifically about if its necessary to provide fail tolerance saving the state of incoming transactions or just having a load balancer that in case of a failure, redirects the load to another (functioning) server.