Headers and body together
From, to, subject, date and the message body render as one readable page rather than as a raw dump somebody has to interpret.
Email is evidence. It ends up in case files, audit trails, discovery bundles and support tickets — and then somebody has to read a .msg on a machine that has never had Outlook installed. Doconut renders MSG, EML and EMLX server-side alongside every other format in the archive.
The problem
Document management systems get built around PDF and Office, and then the first real case file arrives containing forty .msg files. Suddenly the requirement is a mail client on a server, or a conversion step somebody has to run, or a support engineer downloading evidence onto a laptop.
Downloading is the worst of the three. Once a message leaves the system it is outside your retention policy, your audit log and your access control — and it is exactly the material most likely to matter later.
Rendering server-side keeps the correspondence inside the system that is supposed to hold it, next to the PDFs and spreadsheets from the same matter, opened through the same viewer.
Capabilities
From, to, subject, date and the message body render as one readable page rather than as a raw dump somebody has to interpret.
.msg for Outlook, .eml and .emlx for everything else. The same open call handles all three.
HTML messages keep their formatting and inline images rather than collapsing into plain text.
There is no Outlook install, no MAPI profile and no COM automation involved — the same reason the Word story avoids interop.
A matter containing emails, contracts, spreadsheets and drawings opens through one component. Users learn one interface.
Reviewers read pages. The .msg never leaves the archive, so retention and audit remain meaningful.
Integration
In practice the value is not the email support in isolation. It is that a case file stops needing three different viewers and a download button.
Supported extensions
// Outlook and MIME messages open like any other document
string token = await viewer.OpenDocumentAsync("cases/2026-114/correspondence/thread-08.msg");
// The same viewer instance handles the rest of the matter —
// contracts, spreadsheets, drawings — through identical callsDetails
No. Parsing and rendering are native, which is what makes this viable on a Linux container or a locked-down Windows server where installing a mail client is not an option.
The message renders as a message. If you want an attachment displayed, extract it in your own code and open it as its own document — it will be one of the formats the viewer already handles.
You can, with the Converter plugin. But conversion is a batch somebody has to own and re-run, and it doubles your storage. Rendering on demand keeps one copy of the evidence and no pipeline to babysit.
Word
Native DOC/DOCX/RTF/ODT rendering with no Office install, no COM interop and no server-side automation.
WordASP.NET Core
Registers as ordinary DI plus middleware. Inherits the authentication, logging and hosting you already have.
ASP.NET CoreA temporary licence takes a few minutes to request and runs entirely on your own machine. The files that matter are the ones already breaking your current viewer.