Class MapiJournal

MapiJournal class

Represents a MAPI journal item.

public sealed class MapiJournal : MapiMessageItemBase

Constructors

NameDescription
MapiJournal()Initializes a new instance of the MapiJournal class.
MapiJournal(string, string, string, string)Initializes a new instance of the MapiJournal class with the specified details.

Properties

NameDescription
Attachments { get; }Gets the attachments of the item.
Billing { get; set; }Gets or sets the billing information of the item.
Body { get; set; }Gets or sets the plain-text body of the item.
BodyHtml { get; }Gets the body of the item as HTML, converted from BodyRtf; an empty string when there is no RTF body.
BodyRtf { get; set; }Gets or sets the body of the item in RTF format.
BodyType { get; }Gets the format of the body: plain text, HTML or RTF.
BriefDescription { get; set; }Gets or sets a brief description of the recorded activity, such as Phone call.
Categories { get; set; }Gets or sets the categories of the item.
virtual CodePage { get; }Gets the code page of the ANSI strings of the object.
Companies { get; set; }Gets or sets the names of the companies associated with the item.
Description { get; set; }Gets or sets an expanded description of the recorded activity.
DocumentStatus { get; set; }Gets or sets what happened to the document during the activity: printed, saved, routed or posted.
Duration { get; }Gets the duration of the activity: the time from the start to the end.
EndTime { get; set; }Gets or sets the time the activity ended.
Flags { get; set; }Gets or sets the flags of the journal entry.
virtual ItemId { get; }Gets the identifier of the item on the mail server, for items obtained from a server; null otherwise.
MessageClass { get; set; }Gets or sets the message class of the item, such as IPM.Note for an e-mail message. The class determines the type of the item.
Mileage { get; set; }Gets or sets the mileage information of the item.
NamedProperties { get; }Gets the named properties of the item.
NamedPropertyMapping { get; }Gets the mapping between the named properties and the tags they are stored under.
virtual Properties { get; }Gets all properties of the object.
PropertyStream { get; }Gets the property stream of the item.
Recipients { get; set; }Gets or sets the recipients of the item.
Sensitivity { get; set; }Gets or sets the sensitivity of the item: normal, personal, private or confidential.
StartTime { get; set; }Gets or sets the time the activity began.
Subject { get; set; }Gets or sets the subject of the message.
SubjectPrefix { get; }Gets the prefix of the subject, such as RE: or FW: .
SubStorages { get; }Gets the sub-storages of the item.
SupportedType { get; }Gets the type of the item, as determined by its message class.

Methods

NameDescription
static Load(Stream)Loads a MapiJournal from the specified stream.
static Load(string)Loads a MapiJournal from the specified file.
virtual Dispose()Releases the resources used by the item.
override GetProperty(PropertyDescriptor)Gets a MAPI property of the item by its descriptor.
GetPropertyBoolean(long)Gets the value of a property as a Boolean.
GetPropertyBytes(long)Gets the value of a property as bytes.
GetPropertyDateTime(long)Gets the value of a property as a date and time.
GetPropertyInt32(long)Gets the value of a property as a 32-bit integer.
GetPropertyLong(long)Gets the value of a property as a 64-bit integer.
GetPropertyShort(long)Gets the value of a property as a 16-bit integer.
GetPropertyString(long)Gets the value of a property as a string.
GetPropertyString(long, int)Gets the value of a property as a string, decoding an ANSI string with the specified code page.
GetUnderlyingMessage()Retrieves the underlying MapiMessage object.
IsStoreUnicodeOk()Determines whether the string properties of the object are stored in Unicode.
RemoveProperty(long)Removes a property from the item, including its named-property mapping.
Save(Stream)Saves the journal entry to a stream in MSG format.
Save(string)Saves the journal entry to a file in MSG format.
SaveAsync(Stream, CancellationToken)Saves the specified stream asynchronously.
SaveAsync(string, CancellationToken)Saves the specified file name asynchronously.
virtual SetBodyContent(string, BodyContentType)Sets the body of the item in the specified format.
virtual SetBodyContent(string, BodyContentType, bool)Sets the body of the item in the specified format, optionally compressing it.
SetBodyRtf(string, bool)Sets the body of the item in RTF format, optionally compressing it.
SetMessageFlags(MapiMessageFlags)Sets the flags of the message, such as read or unsent.
virtual SetProperty(MapiProperty)Adds the property, or replaces the property with the same tag.
override SetProperty(PropertyDescriptor, object)Sets the value of a MAPI property of the item.
TryGetPropertyData(long)Gets the value of a property as bytes.
TryGetPropertyDateTime(long, ref DateTime)Gets the value of a property as a date and time, if the property exists.
TryGetPropertyInt32(long, ref int)Gets the value of a property as a 32-bit integer, if the property exists.
TryGetPropertyLong(long, ref long)Gets the value of a property as a 64-bit integer, if the property exists.
TryGetPropertyString(long)Gets the value of a property as a string.
TryGetPropertyString(long, int)Gets the value of a property as a string, decoding an ANSI string with the specified code page.
TryGetPropertyString(long, ref string)Gets the value of a property as a string, if the property exists.
TryGetPropertyString(long, ref string, int)Gets the value of a property as a string, if the property exists, decoding an ANSI string with the specified code page.
static LoadAsync(Stream, CancellationToken)Loads a MapiJournal from the specified stream asynchronously.
static LoadAsync(string, CancellationToken)Loads a MapiJournal from the specified file asynchronously.

Remarks

This class serves as a wrapper for MapiMessage to simplify the process of handling journal information from MAPI properties. It provides a more intuitive interface for accessing and manipulating journal data within the MAPI message.

Examples

The following example demonstrates how to get a MapiJournal object from a MapiMessage.

[C#]

var msg = MapiMessage.Load("journal.msg");

// Check if the loaded message is a supported journal type
if (msg.SupportedType == MapiItemType.Journal)
{
    // Convert the MAPI message to a MapiJournal object
    var mapiJournal = (MapiJournal)msg.ToMapiMessageItem();
    
    // Display some journal info
    Console.WriteLine(mapiJournal.StartTime);
    Console.WriteLine(mapiJournal.Description);           
}

[Visual Basic]

Dim msg = MapiMessage.Load("journal.msg")

' Check if the loaded message is a supported journal type
If msg.SupportedType = MapiItemType.Journal Then
    ' Convert the MAPI message to a MapiJournal object
    Dim mapiJournal = DirectCast(msg.ToMapiMessageItem(), MapiJournal)
    
    ' Display some journal info
    Console.WriteLine(mapiJournal.StartTime)
    Console.WriteLine(mapiJournal.Description)
End If

See Also