The .msg file is a tiny filesystem
Where an .eml is a letter you can read in Notepad, a .msg is a locked briefcase — open one in a text editor and you get binary soup with occasional ghostly fragments of words. The reason is genuinely charming once you see it: a .msg isn't a document at all. It's a disk. A miniature 1990s hard drive, complete with sectors, an allocation table and a directory tree, zipped into a single file that happens to contain one email.
Why Microsoft put a disk in a file
The container is called Compound File Binary — OLE2, to those who suffered through the era — and Microsoft built it in the early nineties as a general answer to "our app needs to store many things in one file." Old Word documents, Excel sheets and PowerPoint decks all used it. The design goals were disk-like on purpose: apps could update one part of a big file without rewriting the whole thing, exactly as a filesystem updates one file without repaving the drive. So the format has 512-byte sectors, a FAT (file allocation table — the same idea as the FAT in FAT32) where each entry points to the next sector in a chain, a directory of named entries, and even a mini-FAT for small items, because giving a 200-byte value a whole 512-byte sector offended someone's thrift, correctly.
The email inside the drive
Outlook stores a message on this tiny disk as dozens of small "files" — property streams — with bureaucratic names like __substg1.0_0037001F. That's not noise: 0037 is the MAPI property tag for subject, and 001F says "Unicode text". The sender's name, the recipients, the body, each attachment's bytes and filename — every one is its own little stream filed in the directory, attachments grouped in subfolders. An email as a database of typed fields, which is very Outlook: the app never thought of your message as a letter, but as a record.
Walking it in a browser
None of this needs Outlook — the format is documented, and reading it is a matter of doing the walk honestly: check the magic signature, read the header for sector size and table locations, load the FAT, follow chains sector by sector, parse the directory's 128-byte entries, fetch the streams (from main sectors or the mini-stream, depending on size), then translate the property tags into human words. That's precisely what the mailroom's reader does, in JavaScript, in your tab — the same fifteen-year-old briefcase your father-in-law's USB stick is full of, opened with no install and no upload, because the lock was never a lock. It was just a format nobody had bothered to read outside of desktop software.
There's a pleasing symmetry to the whole thing: the most closed-feeling mail format turns out to be a disk, and disks are the most thoroughly understood objects in computing. Once you can read a 1994 hard drive, a .msg is a Tuesday.