---
title: "onemail docs"
url: https://recursiveai.org/onemail/docs/
description: "Everything about OneMail: getting started, the one-line reading path, MIME and mailboxes, the Outlook formats, conversion and display, calendars and…"
version: "0.3.0-preview.2"
---

# onemail docs

Everything about OneMail: getting started, the one-line reading path, MIME and mailboxes, the Outlook formats, conversion and display, calendars and contacts, and how each is checked. OneMail is a preview: 0.3.0-preview.2.

## Start

- [Getting started](https://recursiveai.org/onemail/docs/getting-started/index.md): Install OneMail 0.3.0-preview.2 for .NET 10, parse an email, and open an mbox, an Outlook MSG file and a PST store with the same call. Pure C#, with no…
- [Overview](https://recursiveai.org/onemail/docs/overview/index.md): An email library for .NET with no dependency beyond the .NET base class library and its sibling libraries (OneArchive, OneHtml, OneRender). It reads and…
- [Mail.Open and the read view](https://recursiveai.org/onemail/docs/shared-view/index.md): Every item OneMail reads (a MIME message, an MSG, a PST/OST message; calendar items and others as their readers arrive) implements one read-only…

## Internet mail

- [Reading and writing MIME](https://recursiveai.org/onemail/docs/mime-reading/index.md): This is the behaviour of MimeReader (RecursiveAI.OneMail.Mime.Reading) and the entity tree built on it (RecursiveAI.OneMail.Mime). It is written to be…
- [Charsets and encoded words](https://recursiveai.org/onemail/docs/text-encodings/index.md): Normative behaviour of the text layer (RecursiveAI.OneMail.Text). It sits under the MIME code and knows nothing about messages: it turns bytes into text…
- [Reports and MHTML](https://recursiveai.org/onemail/docs/reports-and-mhtml/index.md): Typed views over the MIME entity tree (RecursiveAI.OneMail.Mime.Reports, .Mhtml, .Authentication). The tree stays the lossless store: a view reads it…
- [Mailboxes (mbox, Maildir, EMLX, DBX)](https://recursiveai.org/onemail/docs/mailboxes/index.md): How OneMail enumerates and writes mbox files, Maildir folders and Apple Mail (EMLX) stores, and reads Outlook Express (DBX) stores. The code is in…
- [Replies and forwards](https://recursiveai.org/onemail/docs/composition/index.md): RecursiveAI.OneMail.Composition makes the replies and forwards a mail client would, from any item in the shared view (MIME, MSG, PST/OST, TNEF, OLM, DBX).…

## Outlook formats

- [MSG and OFT](https://recursiveai.org/onemail/docs/msg/index.md): RecursiveAI.OneMail.Msg reads Outlook message files (.msg) and templates (.oft) into the MAPI model (docs/mapi.md). The container is MS-CFB, read through…
- [PST and OST messages](https://recursiveai.org/onemail/docs/pst-messaging/index.md): What RecursiveAI.OneMail.Pst.Messaging reads, how it treats damage, and what was checked. The structures are MS-PST 2.4 (store, folders, messages…
- [PST tables and properties](https://recursiveai.org/onemail/docs/pst-ltp/index.md): What RecursiveAI.OneMail.Pst.Ltp reads, how it treats damage, and what was settled by looking at real files. The structures are MS-PST 2.3 (heap-on-node…
- [PST node database](https://recursiveai.org/onemail/docs/pst-ndb/index.md): What RecursiveAI.OneMail.Pst.Ndb reads, how it treats damage, and what was settled by looking at real files. The structures are MS-PST 2.2.2 (the NDB…
- [MAPI properties](https://recursiveai.org/onemail/docs/mapi/index.md): What RecursiveAI.OneMail.Mapi is: the in-memory form of an Outlook item (message, recipient, attachment), independent of the file it came from. MSG files…
- [TNEF (winmail.dat)](https://recursiveai.org/onemail/docs/tnef/index.md): Normative notes for RecursiveAI.OneMail.Tnef, written from MS-OXTNEF (v20250520) and checked against public files. Layers:
- [Compressed RTF and RTF to HTML](https://recursiveai.org/onemail/docs/rtf/index.md): RecursiveAI.OneMail.Rtf reads and writes what Outlook stores in PidTagRtfCompressed and recovers the HTML or plain text that Outlook wraps inside an RTF…
- [OLM (Outlook for Mac)](https://recursiveai.org/onemail/docs/olm/index.md): RecursiveAI.OneMail.Stores.Olm reads .olm files, the archives Outlook for Mac exports. Reading only: OneMail never writes an OLM. This page is the…

## Conversion and display

- [MAPI and MIME conversion](https://recursiveai.org/onemail/docs/conversion/index.md): A conversion turns an item of one model into an item of another and says what it could not carry. Nothing converts behind the caller's back: a conversion…
- [Store to store and fidelity](https://recursiveai.org/onemail/docs/fidelity/index.md): Mail.ConvertAsync and StoreConverter read an item of any family and write it in another format. Every conversion returns a loss report…
- [Display HTML (not yet reviewed)](https://recursiveai.org/onemail/docs/display-html/index.md): RecursiveAI.OneMail.Display turns a message body into HTML for a browser or web view. HtmlSanitizer.Sanitize(html, options) is the layer that rewrites…

## Calendars and contacts

- [ICS and vCard](https://recursiveai.org/onemail/docs/calendar/index.md): Normative notes for RecursiveAI.OneMail.Calendar (BCL only). Behaviour on ambiguous input is in ambiguities.md, calendar section.
- [Recurrence and time zones](https://recursiveai.org/onemail/docs/recurrence/index.md): Normative notes for RecursiveAI.OneMail.Calendar.Recurrence and .TimeZones. The entry points are CalendarRecurrence.Expand(calendar, window, options…
- [jCal, jCard, xCal, xCard](https://recursiveai.org/onemail/docs/jcal-xcal/index.md): Normative notes for RecursiveAI.OneMail.Calendar.Forms (BCL only). The standards are RFC 7265 (jCal), RFC 7095 (jCard), RFC 6321 (xCal) and RFC 6351…
- [Outlook calendar and task items](https://recursiveai.org/onemail/docs/calendar-items/index.md): Normative notes for RecursiveAI.OneMail.Calendaring (the typed views over a MapiMessage) and RecursiveAI.OneMail.Conversion.OxcIcal (MS-OXCICAL). Specs…
- [The calendar card](https://recursiveai.org/onemail/docs/calendar-card/index.md): RecursiveAI.OneMail.Display.CalendarCard turns a calendar object in a message into the compact card mail clients show above the body, as an HTML fragment…
- [Contacts](https://recursiveai.org/onemail/docs/contacts/index.md): Three pieces, each usable alone:

## How it is checked

- [Fidelity and known gaps](https://recursiveai.org/onemail/docs/compatibility/index.md): What OneMail reads and writes today, how each format is checked, and the gaps we know about. This table is updated with every preview; a gap is listed…
- [Benchmarks](https://recursiveai.org/onemail/docs/benchmarks/index.md): bench/OneMail.Benchmarks compares OneMail with MimeKit 4.18.2 (a released NuGet package, referenced only from bench/) on the same bytes, in memory, with…
- [Ambiguities](https://recursiveai.org/onemail/docs/ambiguities/index.md): Real mail is full of messages that the RFCs call invalid or leave open, and the established libraries each pick their own answer. OneMail picks one…

## Reference

- [Changelog](https://recursiveai.org/onemail/docs/changelog/index.md): All notable changes are listed here. The format follows Keep a Changelog and the project follows Semantic Versioning.

## Cookbook

- [All recipes](https://recursiveai.org/onemail/cookbook/index.md): 16 short, task-first recipes with complete code.
