Beryl.Outlook 2.1.1

dotnet add package Beryl.Outlook --version 2.1.1
                    
NuGet\Install-Package Beryl.Outlook -Version 2.1.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Beryl.Outlook" Version="2.1.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Beryl.Outlook" Version="2.1.1" />
                    
Directory.Packages.props
<PackageReference Include="Beryl.Outlook" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Beryl.Outlook --version 2.1.1
                    
#r "nuget: Beryl.Outlook, 2.1.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Beryl.Outlook@2.1.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Beryl.Outlook&version=2.1.1
                    
Install as a Cake Addin
#tool nuget:?package=Beryl.Outlook&version=2.1.1
                    
Install as a Cake Tool

Beryl.Outlook for .NET (.NET Standard 2.0 to .NET 10.0+)

Enterprise Advanced Outlook PST and OST Recovery, Deep Forensic Analysis, and Mailbox Reconstruction Engine for .NET.

Beryl.Outlook is an industry-leading, high-performance forensic and recovery SDK engineered by Data TB Software. Designed for enterprise software vendors, forensic investigators, eDiscovery platforms, and system administrators, Beryl.Outlook provides low-level binary parsing and repair capabilities for Microsoft Outlook data files (.pst and .ost).

Operates 100% independently: No Microsoft Outlook, Office, or MAPI installation is required on the server or client machine.


Why Choose Beryl.Outlook?

1. Advanced Corrupted PST and OST Repair

Standard tools like Microsoft ScanPST.exe frequently truncate corrupted records or fail when encountering severe database structure corruption. Beryl.Outlook bypasses corrupted indexes and parses raw Node Database (NDB) and Logical Table Primitive (LTP) layers directly, allowing successful recovery from critical Outlook errors including 0x80040119, 0x80040600, and oversized file corruption.

2. Zero-Header Mailbox Rebuilding

If the initial 2048-byte PST header is corrupted, zeroed out, or overwritten by malware or disk failure, conventional parsers crash. Beryl.Outlook contains an intelligent heuristic B-Tree reconstruction scanner that sweeps the binary payload, locates orphaned block descriptors (BBTs) and node descriptors (NBTs), and reconstructs the complete mailbox hierarchy from scratch.

3. Forensic Slack Space and Deleted Item Carving

When an email is permanently deleted (Shift+Delete) or purged from the "Deleted Items" folder, Outlook marks the associated database block as unallocated slack space without immediately wiping the underlying bytes. Beryl.Outlook includes a specialized forensic carving engine that scans unallocated block pools to recover permanently deleted emails, contacts, calendar events, and raw file attachments.

4. Built-in Pure Unicode PST Generation

Export recovered data directly into pristine, fully compliant Microsoft Outlook Unicode PST files compatible with Outlook 2003, 2007, 2010, 2013, 2016, 2019, 2021, 2024, and Microsoft 365. The PST generator is self-contained and does not rely on third-party drivers or Windows COM automation.

5. High-Performance Independent Architecture

Engineered from the ground up for maximum throughput and minimal memory footprint, Beryl.Outlook utilizes native memory streaming, zero-copy buffers, and SIMD vectorization. Process massive multi-gigabyte mailboxes with predictable, flat memory consumption.


Universal Target Framework Support

Beryl.Outlook is compiled with multi-target support to ensure seamless drop-in compatibility across legacy enterprise systems and modern cloud-native architectures:

Target Framework Supported Versions Deployment Architecture
.NET Standard netstandard2.0 AnyCPU, x64, x86, ARM64
Legacy .NET Framework 4.6.2, 4.7, 4.7.2, 4.8, 4.8.1 Windows Desktop, WPF, WinForms, Windows Server
.NET Core 2.0, 2.1, 3.0, 3.1 Cross-platform Console, Microservices
Modern .NET .NET 6.0, .NET 7.0, .NET 8.0 (LTS) High-throughput Linux and Windows services
Next-Gen .NET .NET 9.0, .NET 10.0+ Modern JIT SIMD Vectorization and Span Intrinsics

Cross-Platform Compatibility: Fully supported on Windows, Windows Server (2016 through 2025), Linux (Ubuntu, Debian, RHEL, CentOS, Alpine), macOS (Apple Silicon M-series and Intel), and containerized deployments (Docker, Kubernetes).


Comparison Matrix

Feature Beryl.Outlook Microsoft Tools Other Solutions
Standalone (No Outlook/Office Required) Yes No Partial
Corrupted PST / OST Repair Deep Binary Reconstruction Basic Index Truncation Parsing Only
Zero-Header Recovery Yes (Heuristic Scanner) No (Fails on zero header) No
Slack Space Deleted Items Carving Yes (Shift+Delete Recovery) No No
Standalone Unicode PST Generation Yes No Varies
Large File Splitting (5GB to 50GB+) Yes (Automatic) No Limited / Manual
Cross-Platform (Linux, macOS, Docker) Yes No Varies
Native C-ABI for Python, C++, Rust, Go Yes (Included) No No

Supported Input and Output Formats

Input Formats:

  • Microsoft Outlook Personal Storage Table (.pst): ANSI (Outlook 97-2002) and Unicode (Outlook 2003-2024, Microsoft 365).
  • Microsoft Exchange Offline Storage Table (.ost): Exchange 2003, 2007, 2010, 2013, 2016, 2019, Office 365, and IMAP cached files.
  • Damaged and Raw Forensic Image Files: .pst.bak, raw byte dumps, and incomplete file copies.

Output Capabilities:

  • Healthy Microsoft Outlook Unicode PST files.
  • Extracted raw message items with complete MIME transport headers and custom MAPI properties.
  • Original attachments preserved with pristine binary fidelity, CRC verification, and correct content types.

Production Code Examples

1. Basic Corrupted Mailbox Scan and PST Repair

using System;
using System.Threading.Tasks;
using Beryl.Outlook;
using Beryl.Outlook.Models;
using Beryl.Outlook.Services;
using Beryl.Outlook.Licensing;

class Program
{
    static async Task Main(string[] args)
    {
        // 1. Initialize Engine
        var engine = new BerylOutlookEngine();

        // 2. Set up progress monitoring
        var progress = new Progress<ScanProgressReport>(report =>
        {
            Console.WriteLine($"[{report.Percentage}%] {report.CurrentPhase}: {report.CurrentFolder}");
        });

        // 3. Scan damaged PST or OST file
        string damagedFilePath = @"C:\Data\CorruptedMailbox.ost";
        ScanResult result = await engine.ScanAsync(damagedFilePath, ScanMode.ExtensiveScan, progress);

        Console.WriteLine("Scan Complete.");
        Console.WriteLine($"Total Items Found: {result.TotalItemsCount}");
        Console.WriteLine($"Permanently Deleted Items Recovered: {result.TotalDeletedItemsCount}");

        // 4. Export healthy, clean PST
        var exportOptions = new ExportOptions
        {
            Format = ExportFormat.PST,
            OutputDirectory = @"C:\RecoveredData",
            RecoverDeletedItems = true,
            PstOption = PstSaveOption.SaveNormally
        };

        int exportedCount = await engine.ExportAsync(result, exportOptions);
        Console.WriteLine($"Successfully exported {exportedCount} items to clean PST.");
    }
}

2. Forensic Slack Carving for Deleted Item Recovery

using System;
using System.Threading.Tasks;
using Beryl.Outlook.Core;
using Beryl.Outlook.Models;

class ForensicCarver
{
    public static async Task RecoverDeletedEmails(string pstPath)
    {
        var engine = new BerylOutlookEngine();

        // ExtensiveScan automatically invokes the deep slack space carver
        ScanResult scan = await engine.ScanAsync(pstPath, ScanMode.ExtensiveScan);

        foreach (var folder in scan.Folders)
        {
            foreach (var message in folder.Messages)
            {
                if (message.IsDeleted)
                {
                    Console.WriteLine("[CARVED DELETED ITEM]");
                    Console.WriteLine($"Subject: {message.Subject}");
                    Console.WriteLine($"Sender: {message.SenderEmailAddress}");
                    Console.WriteLine($"Date: {message.DeliveryTime}");
                    Console.WriteLine($"Body Snippet: {message.BodyPreview}");
                    Console.WriteLine(new string('-', 50));
                }
            }
        }
    }
}

3. Large PST Auto-Splitting (50GB+ File Management)

using System.Threading.Tasks;
using Beryl.Outlook;
using Beryl.Outlook.Models;
using Beryl.Outlook.Services;

class LargePstSplitter
{
    public static async Task SplitLargeMailbox(ScanResult scanResult, string outputDir)
    {
        var engine = new BerylOutlookEngine();

        var splitOptions = new ExportOptions
        {
            Format = ExportFormat.PST,
            OutputDirectory = outputDir,
            PstOption = PstSaveOption.SplitPst,
            SplitSize = PstSplitSize.Split10GB // Automatically splits into part1.pst, part2.pst, etc.
        };

        await engine.ExportAsync(scanResult, splitOptions);
    }
}

4. Commercial License Activation

using Beryl.Outlook.Licensing;

class LicensingExample
{
    public static void ApplyLicense()
    {
        var license = new License();
        
        // Pass path to your signed commercial license file
        license.SetLicense(@"C:\Licenses\Beryl.Outlook.lic");

        if (BerylLicense.IsLicensed)
        {
            Console.WriteLine($"Licensed To: {BerylLicense.CurrentLicense.LicensedTo}");
            Console.WriteLine($"License Type: {BerylLicense.CurrentLicense.LicenseType}");
        }
    }
}

Commercial Licensing and EULA

Beryl.Outlook is commercial proprietary software engineered and licensed by Data TB Software.

  • Evaluation / Trial Mode: Shipped with evaluation restrictions enabled by default (maximum 10 items extracted per folder for verification and testing).
  • Commercial / Enterprise License: Unlocks unlimited mailbox extraction, unrestricted volume processing, multi-threaded batch operations, and commercial software distribution rights.

To acquire a commercial license or obtain an enterprise quote, visit: Product Information: https://www.datatbs.com/sdks/beryl-outlook Official Commercial EULA: https://www.datatbs.com/eula


Copyright (c) 2024-2026 Data TB Software. All rights reserved.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.1.1 52 11/5/2026
2.0.0 54 11/4/2026

v2.1.1 Enterprise Multi-Target Release:
- Universal runtime support: Compatible with .NET Standard 2.0 (.NET Framework 4.6.2 - 4.8.1, .NET Core 2.0 - 3.1), .NET 6.0, .NET 7.0, .NET 8.0, .NET 9.0, and .NET 10.0+.
- Dual Architecture compilation: Modern JIT SIMD Vectorized intrinsics for .NET 9.0/10.0 and universal fallback binary for legacy platforms.
- Deep Slack block forensic carving with permanently deleted email and attachment recovery.
- Standalone PST creation without Microsoft Outlook or MAPI installation requirements.
- Enterprise-grade intellectual property protection with full string and control-flow obfuscation.