Very large-scale e-mail solution
I am researching setting up a very large-scale e-mail server. I currently have a configuration that might work, but I'd like some feedback on it. It will probably start smaller than is pictured here, but I need this to scale to very large sizes.This is what I have:
- Several (however many is nessecary) incoming front-end mail servers. I am considering using Exim, but this is personal preference. This will change if I find a more suitable server.
- At least two MySQL/PostgreSQL (probably the latter, due to licensing) servers for the backend for the IMAP / MTA servers.
- At least one internal, caching DNS-server for outgoing mail or reverse lookups for incoming mail. This might share a machine with one of the PostgreSQL servers until nessecary for a dedicated PC.
- One (or more) web servers offering a webmail service.
Edit: All servers will be in the same datacentre/rack connected with a 100mbps or 1000mbps switch on a private network, as well as it's normal internet connectivity. I will very likely also have some sort of dedicated hardware firewall solution between this and the Internet.
The mail servers will be running some sort of anti-SPAM solution as well as some sort of antivirus solution.
I am not sure exactly how the mailservers will share the mail datastore. Ideally, I'd like some sort of HUGE datastore that all the domains and all the clients are on that is shared amongst all the mailservers, as well as (possibly) the webserver. Any suggestions. Initally, I thought to dump the mail inside the PostgreSQL servers, but I was not able to find any MTA or IMAP servers that supports this.
It will start small initially (single-server) with services moving to other servers as nessecary.
Does anybody have any suggestion or improvements to this scheme? Will this work or not? Most importantly of all, how should I store the mail?
Thanks!