API Reference

Class

EmailDocumentReader

Namespace OfficeIMO.Email
Assembly OfficeIMO.Email
Modifiers sealed

Reads bounded email and Outlook artifacts into the shared EmailDocument model.

Inheritance

  • Object
  • EmailDocumentReader

Constructors

EmailDocumentReader 2 overloads
public EmailDocumentReader() #

Creates a reader with the default bounded policy.

public EmailDocumentReader(EmailReaderOptions options) #

Creates a reader with an immutable bounded policy.

Parameters

options OfficeIMO.Email.EmailReaderOptions requiredposition: 0

Methods

DetectFormat 2 overloads
public static EmailFileFormat DetectFormat(Byte[] data) #
Returns: EmailFileFormat

Detects the artifact format from content rather than the filename.

Parameters

data System.Byte[] requiredposition: 0
public static EmailFileFormat DetectFormat(Stream stream, EmailReaderOptions options = null) #
Returns: EmailFileFormat

Detects an artifact from the beginning of a seekable stream and restores its original position. Non-seekable streams are inspected forward from their current position.

Parameters

stream System.IO.Stream requiredposition: 0
options OfficeIMO.Email.EmailReaderOptions = null optionalposition: 1
Read 5 overloads
public EmailReadResult Read(String filePath, CancellationToken cancellationToken = null) #
Returns: EmailReadResult

Reads an artifact from a file.

Parameters

filePath System.String requiredposition: 0
cancellationToken System.Threading.CancellationToken = null optionalposition: 1
public EmailReadResult Read(Byte[] data, CancellationToken cancellationToken = null) #
Returns: EmailReadResult

Reads an artifact from memory.

Parameters

data System.Byte[] requiredposition: 0
cancellationToken System.Threading.CancellationToken = null optionalposition: 1
public EmailReadResult Read(Byte[] data, String sourceName, CancellationToken cancellationToken = null) #
Returns: EmailReadResult

Reads an artifact from memory and uses the logical source name to distinguish extension-defined formats such as an Outlook template (.oft) from an Outlook message (.msg).

Parameters

data System.Byte[] requiredposition: 0
sourceName System.String requiredposition: 1
cancellationToken System.Threading.CancellationToken = null optionalposition: 2
public EmailReadResult Read(Stream stream, CancellationToken cancellationToken = null) #
Returns: EmailReadResult

Reads a complete artifact without closing the stream. Seekable streams are read from the beginning and restored to their original position; non-seekable streams are read forward from their current position.

Parameters

stream System.IO.Stream requiredposition: 0
cancellationToken System.Threading.CancellationToken = null optionalposition: 1
public EmailReadResult Read(Stream stream, String sourceName, CancellationToken cancellationToken = null) #
Returns: EmailReadResult

Reads an artifact without closing the stream and uses the logical source name to distinguish extension-defined formats such as .oft.

Parameters

stream System.IO.Stream requiredposition: 0
sourceName System.String requiredposition: 1
cancellationToken System.Threading.CancellationToken = null optionalposition: 2
ReadAsync 3 overloads
public async Task<EmailReadResult> ReadAsync(String filePath, CancellationToken cancellationToken = null) #
Returns: Task<EmailReadResult>

Asynchronously reads an artifact from a file.

Parameters

filePath System.String requiredposition: 0
cancellationToken System.Threading.CancellationToken = null optionalposition: 1
public async Task<EmailReadResult> ReadAsync(Stream stream, CancellationToken cancellationToken = null) #
Returns: Task<EmailReadResult>

Asynchronously reads a complete artifact without closing the stream. Seekable streams are read from the beginning and restored to their original position; non-seekable streams are read forward.

Parameters

stream System.IO.Stream requiredposition: 0
cancellationToken System.Threading.CancellationToken = null optionalposition: 1
public async Task<EmailReadResult> ReadAsync(Stream stream, String sourceName, CancellationToken cancellationToken = null) #
Returns: Task<EmailReadResult>

Asynchronously reads an artifact without closing the stream and applies extension-defined source semantics.

Parameters

stream System.IO.Stream requiredposition: 0
sourceName System.String requiredposition: 1
cancellationToken System.Threading.CancellationToken = null optionalposition: 2
ReadStreaming 2 overloads
public EmailReadResult ReadStreaming(Stream stream, String sourceName = null, CancellationToken cancellationToken = null) #
Returns: EmailReadResult

Reads an artifact with large payloads retained as reopenable temporary-file sources. Dispose the returned result when those sources are no longer needed.

Parameters

stream System.IO.Stream requiredposition: 0
sourceName System.String = null optionalposition: 1
cancellationToken System.Threading.CancellationToken = null optionalposition: 2
public EmailReadResult ReadStreaming(String filePath, CancellationToken cancellationToken = null) #
Returns: EmailReadResult

Reads a file through the streaming payload path.

Parameters

filePath System.String requiredposition: 0
cancellationToken System.Threading.CancellationToken = null optionalposition: 1
ReadStreamingAsync 2 overloads
public async Task<EmailReadResult> ReadStreamingAsync(Stream stream, String sourceName = null, CancellationToken cancellationToken = null) #
Returns: Task<EmailReadResult>

Asynchronously stages source I/O and reads large payloads into reopenable temporary-file sources. Dispose the returned result when those sources are no longer needed.

Parameters

stream System.IO.Stream requiredposition: 0
sourceName System.String = null optionalposition: 1
cancellationToken System.Threading.CancellationToken = null optionalposition: 2
public async Task<EmailReadResult> ReadStreamingAsync(String filePath, CancellationToken cancellationToken = null) #
Returns: Task<EmailReadResult>

Asynchronously reads a file through the streaming payload path.

Parameters

filePath System.String requiredposition: 0
cancellationToken System.Threading.CancellationToken = null optionalposition: 1

Properties

public EmailReaderOptions Options { get; } #

Reader policy used by this instance.