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

CC BY-NC-ND 4.0 messages.idx file format by Dave Warren (everything-mdaemon.com) is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

Leave a Reply

Your email address will not be published. Required fields are marked *

*