On Fri, Dec 6, 2013 at 10:28 PM, Nikolaus Rath Nikolaus@rath.org wrote:
David Bishop dovecot@dpe.lusars.net writes:
Is there a way to get a running transaction log from a Dovecot instance to synchronize (and I use that word very, very loosely) multiple instances that don't share a network?
I think what you want is not synchronize the state of one mail server
across multiple computers, but have mail transport from one system to another via sneakernet. In other words, you want UUCP. It might be ancient, but it should do exactly what you want.
I've looked at UUCP, and while it solves a related problem, it doesn't seem like it solves my problem (which is why I originally asked about copying files directly out of the spool). It is, I think, possible to force UUCP to do what I want, but dsync seems an easier solution. (Sadly, it'll be a bit before I have time to work up a testbed.)
As an example: If Bob-from-maintenance is working his way up the line, he may be emailing updates to the maintenance list (stuff like "this needs replacement but I don't have the part" and "This problem has been sorted") before hopping a tram to the next station. At the next station (please note: different server with its own mail spool pretending to be the same server), the local IMAP server should look (to Bob, and Bob's phone) exactly the same (down to message IDs, because otherwise, his phone is going to get confused about the locally-cached email). If an email someone sent in response to one of his emails catches up with Bob ("I have the part and will sort it -- Ann-from-engineering" or "new problem reported", for instance), it should show up as a new message, but his original message should show up as having been read.
If I do this with dsync (and correctly understand dsync), this works the way (I think) it should. If I do this with UUCP, every station is going to have its own copy of each message, but not copies of read flags (and no way of conveying that a message has been read, or, more importantly, deleted, which becomes a problem when some mail recipients never go all the way to the end of the line).