Outlook, Exchange, and Extended MAPI developer library
Use Extended MAPI, Outlook UI, and Exchange service APIs from any COM-capable language.
Build Outlook and Exchange solutions beyond the Outlook Object Model, including stores, folders, messages, profiles, MAPI tables, rules, properties, message import/export, Outlook windows, and selected EWS and Graph interop scenarios.
Redemption is a regular COM library available to any language that can use COM objects. It exposes automation-friendly objects for Outlook and Exchange development, using Extended MAPI, Outlook UI access, and Exchange service APIs where they fit.
The library includes RDO, Safe*Item objects, ProfMan, MAPI tables, store and folder access, message import/export, account management, Exchange rules, ACLs, reminders, and categories.
For existing Outlook Object Model code, Safe*Item objects provide a minimal-change path around legacy security prompts and expose additional properties such as message headers, sender email addresses, RTF body, and attachment data.
Redemption has several related API areas. These are the main entry points for new and existing integrations.
RDO
RDO exposes sessions, stores, folders, items, recipients, attachments, rules, search folders, accounts, categories, reminders, and low-level properties without requiring your code to automate Outlook for every operation.
It can share Outlook's active MAPI session through RDOSession.MAPIOBJECT, or it can log on directly to an existing profile, a PST store, or a hosted Exchange mailbox.
Safe* Objects
Safe*Item objects are designed to sit beside existing Outlook Object Model code. Assign the Outlook item to the Redemption object and continue working with the same familiar properties and methods, including properties Outlook blocks or omits.
Developer resources
Use these pages when you need registration and RedemptionLoader guidance, MAPI table details, troubleshooting notes, or version-specific changes.
For developers already using OutlookSpy: OutlookSpy shows what Outlook and MAPI expose at runtime. Redemption gives your code an automation-friendly way to read, write, and move that data.