What is MSG File Format?


MSG file is a single email format used by Microsoft Outlook and Exchange to store emails, contacts, notes, tasks, appointments, etc. These messages include sender, recipient, subject, date, message body, contact information, or task specifications. These properties are part of MSG file. MSG file has headers, message body, and hyperlinks as plain ASCII text. MSG files are also compatible with other programs that use Messaging Applications Programming Interface (MAPI).

MSG File Structure

MSG file is a compound file binary file format that consists of streams and storages. These files contain objects, which in turn stores properties and collection of properties. The objects are represented by storages whereas properties by streams.

Objects

Objects in message store are created by Outlook email client or the server. Three types of objects are found in MSG file –

  • Email Object – The object is represented by MSG compound file and only one kind of email object is available at the top level. At a lower level, multiple email objects are present.
  • Recipient Object – The storages in recipient object are – recip_version1.0_#00000000, recip_version1.0_#00000001, and recip_version1.0_#00000002.
  • Attachment Object – Two types of attachment objects exist.
    • Embedded message attachment – These are other email messages that have been attached to the message.
    • Custom attachments – These attachments are not other messages.

Properties

Properties describe the attributes of the object such as sender email, read receipt, name of the attachments, etc. These details are defined through properties. Properties are categorized as follows –

  • Fixed length properties – they have elements like PtypInteger16 bit currency integer and PtypCurrency hat, a 64-bit currency type.
  • Variable length properties – store strings and binary data like PtypeString and PtypBinary.
  • Multiple-valued properties – They are of two types:
    • Fixed length – they have limited elements of a fixed size type.
    • Variable length – they have limited elements and have the same elements like variable length properties.

Scenarios to avoid MSG formats

Message objects can be shared between clients or message stores in .MSG file system. Multiple circumstances are there which store message object in .msg file format in an appropriate way. Like –

  • In the case of upholding a large standalone archive, it’s good to utilize a full-featured format where views can be rendered more precisely.
  • When the receiver is unknown, it is possible that the format is not supported by the receiver end and irrelevant might be delivered.