What we want to do is have all the e-mail we have in our CRM stored into VMware Zimbra Open Source Edition. This is something we can easily do.

However, we want to synchronize between Zimbra and our CRM:
- When we mark a message read in our CRM, we want to push this change to Zimbra (so the message gets marked read in Zimbra too).
- When we mark a message read in Zimbra, we want to push this change to our CRM (so the message gets marked read in our CRM too).

We want to do this for everything: Marking read/unread, deleteing, moving, copying, set any other flags, etc. etc.

We will mainly use the IMAP component.

The CRM -> Zimbra part isn't hard, we can just open IMAP sessions and mark the messages read etc.

But the Zimbra -> CRM part is something I'm not sure of yet. I don't see how we can make a plugin that allows us to handle these events.

Would we make this plugin through a Zimlet? I cannot find any proper documentation regarding creating Zimlets that do something with the Java-side of Zimbra. All I find is JavaScript Zimlets. Which is a possibility, too, though. But I don't think we can properly rely on this.

Does anybody have any ideas? I would appreciate some thorough documentation that helps me creating a plugin for Zimbra.