mouss wrote: > > mouss wrote: > > Matt Shields wrote: > >> I'm trying to set up a large scale email system that > supports 100,000+ > >> IMAP accounts. We have an existing frontend web interface > that does a > >> lookup on a mysql db to figure out which IMAP server to > connect to for > >> each user. For the email infrastructure we have decided on Postfix > >> and Cyrus. We have configured both to use mysql to get the virtual > >> user information. > >> > >> Because of the way that the infrastructure is (biz > reasons) we are not > >> doing shared storage, we have numerous IMAP servers that > we distribute > >> accounts across. As we add more users, we image up a new > IMAP server. > >> For our business's scaling purposes this was the best plan. > >> > >> What I am having a problem is how do I get postfix to transfer the > >> email to the particular IMAP server that the user account is on. I > >> know that I need to use lmtp and transport, but all the examples I > >> have seen show forwarding all email to 1 IMAP server. I would like > >> Postfix to do a lookup for each mailbox and determine which IMAP > >> server to deliver it to. > > > > There are primarily two ways: > > > > [virtual aliase] > > you can use virtual_alias_maps to redirect foo at example.com to > > foo at hostN.example.com, provided the final server accepts > such addresses. > > > > If the final server doesn't accept these, and you use smtp > to relay to, > > then you can write the addresses back, using smtp_generic_maps. > > > > [transport] > > an laternative is to use use (per-user) transport_maps. > something like > > > > foo at example.com relay:[hostN.example.com] > > > > > > In bothe approaches, the mappings can be generated using > sql statements > > (mostly CONCAT). something like > > ... > > query = SELECT concat('relay:[', host, '.example.com]') > > FROM User > > where '%u' = user and '%d' = domain > > > > you get the idea I hope. True, it may be better to just have a cron job dump out new static maps every 15 minutes or so then to have the MTA query on every delivery especially for 100K accounts. -Ross ______________________________________________________________________ This e-mail, and any attachments thereto, is intended only for use by the addressee(s) named herein and may contain legally privileged and/or confidential information. If you are not the intended recipient of this e-mail, you are hereby notified that any dissemination, distribution or copying of this e-mail, and any attachments thereto, is strictly prohibited. If you have received this e-mail in error, please immediately notify the sender and permanently delete the original and any copy or printout thereof.