I currently have a setup using exim as the MTA and courier-imapd for POP3/IMAP access.
Now I plan moving to dovecot instead of courier but for testing purposes I'd like to run it on a different port for some time. Obviously that makes no sense without any incoming emails so I'd like to deliver mails (for a certain domain if possible) to both courier-imapd and dovecot.
So I'm looking for some suggestions on how to configure exim to behave in the specified way. Please note that I'd like to pass the messages to dovecot through its LDA so using a system filter that writes the email to a specific filesystem location won't work.
Since @ChrisS asked for more details: I'd like to test things with dovecot before (deciding to) switch. And the easiest way is doing that with a "copy" of my real mailbox - but since I also want to test dovecot's sieve filters I need to deliver emails to it via its LDA (or LMTP, but I don't see a big advantage in that) - and for courier the emails are written directly to the maildir by exim. Obviously the maildir of dovecot will be in a different location to avoid collisions.
I found a way how to do it: Using a route with
unseen = true
ensures that the message is passed to other routers, too.You have to think differently. Why not going the way to deliver mail dependent on the recipient? For all "old" accounts it is going (as usual) to courier and for "new" accounts to dovecot. This is the way I would implement this. And I can do this with Postfix but I have no idea on how to do it with Exim.
Delivering to two LDAs introduces the problem of two data stores with inconsistencies in between them.
But to answer your question. Yes, Exim can do it. I don't know any scenario (concerning email) that Exim can not do.