Exchange Server IMAP Protocoll

0 votes
asked Apr 30, 2010 by Evren Gunay (120 points)
edited Mar 23, 2011


We are using currently Rebex IMAP for one of our products. We also want to use Rebex for the connections to Microsoft Exchange Server over IMAP protocoll. While doing that we need to add extra properties (etc. data, not attachment for example, a string array) to mails which are sent/received over exchange server. Is there any possibility to add Rebex Mails/MIMEs extra information? If yes, do you have any information about if Exchange Server is capable of saving this information in its message database.

Thanks in advance.

Best Regards,

Evren Günay

Applies to: Rebex Secure Mail

1 Answer

0 votes
answered May 3, 2010 by Lukas Pokorny (112,470 points)
edited May 4, 2010

1) You can use IMAP keywords functionality to assign keywords (or tags) to mail messages. Using this to store arbitrary data is not really possible.


2) You can add extra information into custom headers of an e-mail – these are preserved and stored in its message database by Microsoft Exchange Server (Edit: See the comment).

However, adding a custom header using the IMAP protocol is very problematic – IMAP doesn't make it possible to modify a message at the mail server, so the only way to add a header is to:

  1. Download the message from the server.
  2. Add the header to the downloaded message.
  3. Upload the message back to the server.
  4. Delete the original message.

The problem with this is that we are not actually modifying a message, but creating a modified copy of it. This means that any Exchange-only properties associated with the message (which are not accessible using the IMAP protocol) will disappear. This might be undesirable.

commented May 4, 2010 by Lukas Pokorny (112,470 points)
It turned out that custom headers are actually not preserved very well by Microsoft Exchange Server. The reason for this is that Exchange doesn't store raw MIME messages in its database, but converts them to its internal MAPI format. And this conversion is obviously not lossless. So the method described here only works safely on non-Exchange IMAP servers that store the raw MIME message.