messages.idx file format

WorldClient maintains a file called “messages.idx” in the $MAILDIR$\WC\ directory which contains the information WorldClient needs to generate the indexes. This is done for performance reasons, with the goal being that WorldClient only needs to read each MSG file once.

The messages.idx file works in conjunction with the IMAP.MRK file, which contains IMAP flags such as (UNREAD, REPLIED, DELETED), whereas flags like “New” and “Forwarded” aren’t known to IMAP, but were implemented in WorldClient, and so are stored in WorldClient’s own index.

Although messages.idx is self-maintaining (meaning that WorldClient automatically adds and deletes entries without user intervention), if deleted, messages.idx will be recreated as WorldClient needs it, with an obvious performance hit as MSG files are parsed.

You may want to delete messages.idx to force a rebuild if, for example, you change whether WorldClient uses the “Sent” or “Received” dates and want to update messages already received with the new dates

It is a text file with one message record per line, with the fields delimited by a \001 character. There are 8 fields in the 5.x/6.0 format:

Folder name
IMAP UID Validity
IMAP UID
To
From
Subject
Date (time_t value)
WorldClient flags (bitmask)

The WorldClient flags bitmask values are

1=New
2=Forwarded
4=High Priority
8=Has attachments
16=Needs read confirmation

Exporting Worldclient contacts the hard way

In a previous post I covered the supported ways to access WorldClient contact data. Now we’ll dig under the hood a little and I’ll show you one method to convert a contact entry directly to a CSV file. The only tools needed are Windows Explorer and Excel 2007.

Open Windows Explorer on the server, browse to the user’s contacts folder:

e.g. C:\MDaemon\USERS\example.com\UserName\Contacts.IMAP

Copy the file AddrBook.mrk to a temporary area, where you can work on this file, then rename this file to AddrBook.xml. You can copy the file to another machine, from this point forward MDaemon isn’t needed.

Start Microsoft Excel 2007.

Select File – Open – browse to the temporary area and choose the AddrBook.xml file.

Leave the option “As an XML table” option selected and click OK, then click OK again.

Excel will now have a new file opened with the following columns: version, encoding, guid, modified, fullName, email

Delete the columns: version, encoding, guid & modified

Keep the columns: fullName & email

You can now copy and paste this data into a CSV format required by your email client address book for importing.

Please note: the above instructions work if using MS-Office Excel 2007, older versions of Excel may not have the required XML importer.

Exporting Worldclient contacts the easy way

How can I export contacts from my WorldClient address book?

There are two supported methods, and one unsupported method I’ll cover later.

  • ComAgent

ComAgent can synchronize a WorldClient address book with Outlook or Outlook Express.

To use ComAgent, have the user login to WorldClient, go to Preferences, then download and install ComAgent. Once installed, right click on ComAgent, go to Properties, then to Address Book Synchronization, choose the appropriate mail client and local folders and away you go.

Note that this is a two-way synchronization, items in your local address book will be sent up to the server. This is unavoidable.

  • SyncML

This method takes a bit more work, but is actually more flexible since you can access any Contacts folder. The process requires an SyncML external application, so you’ll need to find one based on the destination.