Class MapiMessage
Represents a Message Object which is representation of end-users' data that store properties and are persisted in a folder hierarchy within a message store.
Inheritance
Inherited Members
Namespace: DRIT.Mail.Mapi
Assembly: DRIT.Mail.dll
Syntax
public class MapiMessage : AbstractMapiItem
Remarks
Reference: MS-OXCMSG Message and Attachment Object Protocol
Constructors
View SourceMapiMessage()
Initializes a new instance of the MapiMessage class.
Declaration
public MapiMessage()
Remarks
Reference: MS-OXCMSG Message and Attachment Object Protocol
Properties
View SourceAcceptLanguage
Gets or sets the value of the Accept-Language header (2), which defines the natural languages in which the sender prefers to receive a response.
Declaration
public string AcceptLanguage { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
The format of this property is specified in [RFC3282] section 3. The relationship between this property and the Accept-Language header is specified in [MS-OXCMAIL] sections 2.1.3.2.16 and 2.2.3.2.11.
Reference: MS-OXCMSG 2.2.1.42 PidNameAcceptLanguage Property
AddressBookDisplayNamePrintable
Gets or sets the printable string version of the display name.
Declaration
public string AddressBookDisplayNamePrintable { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
Reference: MS-OXCMSG 2.2.1.30 PidTagAddressBookDisplayNamePrintable Property
AgingDontAgeMe
Gets or sets whether the message is to be automatically archived.
Declaration
public bool? AgingDontAgeMe { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
Remarks
This property is set to True if the message will not be automatically archived; otherwise, False.
Reference: MS-OXCMSG 2.2.1.33 PidLidAgingDontAgeMe Property
AlternateRecipientAllowed
Gets or sets whether the sender permits the message to be autoforwarded.
Declaration
public bool? AlternateRecipientAllowed { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
Remarks
This property is set to True if autoforwarding is allowed.
Reference: MS-OXCMSG 2.2.1.36 PidTagAlternateRecipientAllowed Property
ArchiveDate
Gets or sets the date, in UTC, after which a Message object is archived by the server.
Declaration
public DateTime? ArchiveDate { get; set; }
Property Value
| Type | Description |
|---|---|
| DateTime? |
Remarks
If the ArchiveDate property is not present, the Message object is never archived by the server.
Reference: MS-OXCMSG 2.2.1.58.8 PidTagArchiveDate Property
ArchivePeriod
Gets or sets the number of days that a Message object can remain unarchived.
Declaration
public int? ArchivePeriod { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
The presence of the ArchivePeriod property on a Message object indicates that the archive tag on that Message object was explicitly applied by the end user. If the value of ArchivePeriod is 0, the Message object is never archived by the server.
Reference: MS-OXCMSG 2.2.1.58.7 PidTagArchivePeriod Property
ArchiveTag
Gets or sets the GUID of an archive tag.
Declaration
public byte[] ArchiveTag { get; set; }
Property Value
| Type | Description |
|---|---|
| byte[] |
Remarks
The ArchiveTag property can be present on both Message objects and folders and can be set by both client and server.
Reference: MS-OXCMSG 2.2.1.58.1 PidTagArchiveTag Property
Attachments
Gets or sets the attachments value.
Declaration
public virtual IList<MapiAttachment> Attachments { get; }
Property Value
| Type | Description |
|---|---|
| IList<MapiAttachment> |
Remarks
Reference: MS-OXCMSG Message and Attachment Object Protocol
AutoForwardComment
Gets or sets a comment added by the autoforwarding agent.
Declaration
public string AutoForwardComment { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
Reference: MS-OXCMSG 2.2.1.21 PidTagAutoForwardComment Property
AutoForwarded
Gets or sets whether this message has been automatically generated or automatically forwarded.
Declaration
public bool? AutoForwarded { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
Remarks
If this property is unset, a default value of 0x00 is assumed.
Reference: MS-OXCMSG 2.2.1.20 PidTagAutoForwarded Property
Body
Get or sets unformatted text, which is the text/plain MIME format as specified in [RFC1521] section 7.1.2.
Declaration
public string Body { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
Reference: MS-OXCMSG 2.2.1.56.1 PidTagBody Property
BodyContentId
Gets or sets a GUID corresponding to the current message body.
Declaration
public string BodyContentId { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
This property corresponds to the Content-ID header. The relationship between this property and the Content-ID header is further specified in [MS-OXCMAIL] sections 2.1.3.4.2.3 and 2.2.3.2.24.
Reference: MS-OXCMSG 2.2.1.56.7 PidTagBodyContentId Property
BodyContentLocation
Gets or sets a a globally unique URI that serves as a label for the current message body. The URI can be either absolute or relative.
Declaration
public string BodyContentLocation { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
This property corresponds to the Content-Location header (2). The relationship between this property and the Content-Location header (2) is further specified in [MS-OXCMAIL] sections 2.1.3.4.2.3 and 2.2.3.2.26. The format of this property is further specified in [RFC2110].
Reference: MS-OXCMSG 2.2.1.56.8 PidTagBodyContentLocation Property
BodyHtml
Gets or sets the HTML body as specified in [RFC2822] section 2.3.
Declaration
public string BodyHtml { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
Reference: MS-OXCMSG 2.2.1.56.3 PidTagBodyHtml Property
Categories
Gets or sets the array of text labels assigned to this Message object.
Declaration
public string[] Categories { get; set; }
Property Value
| Type | Description |
|---|---|
| string[] |
Remarks
Reference: MS-OXCMSG 2.2.1.22 PidLidCategories Property
Classification
Gets or sets a list of the classification categories to which this Message object has been assigned.
Declaration
public string Classification { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
Reference: MS-OXCMSG 2.2.1.23 PidLidClassification
ClassificationDescription
Gets or sets a human-readable summary of each of the classification categories included in the Classification property.
Declaration
public string ClassificationDescription { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
Reference: MS-OXCMSG 2.2.1.24 PidLidClassificationDescription Property
Classified
Gets or sets whether the contents of a message are regarded as classified information.
Declaration
public bool? Classified { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
Remarks
Reference: MS-OXCMSG 2.2.1.25 PidLidClassified Property
CommonEnd
Gets or sets the end time for the Message object.
Declaration
public virtual DateTime? CommonEnd { get; set; }
Property Value
| Type | Description |
|---|---|
| DateTime? |
Remarks
The value of this property MUST be greater than or equal to the value of the CommonStart property. This time is interpreted as UTC.
Reference: MS-OXCMSG 2.2.1.19 PidLidCommonEnd Property
CommonStart
Gets or sets the start time for the Message object.
Declaration
public virtual DateTime? CommonStart { get; set; }
Property Value
| Type | Description |
|---|---|
| DateTime? |
Remarks
The value of this property is less than or equal to the value of the CommonEnd property. This time is interpreted as Coordinated Universal Time (UTC).
Reference: MS-OXCMSG 2.2.1.18 PidLidCommonStart Property
Companies
Gets or sets the companies value.
Declaration
public string[] Companies { get; set; }
Property Value
| Type | Description |
|---|---|
| string[] |
Remarks
Reference: MS-OXCMSG Message and Attachment Object Protocol
ContactLinkEntry
Gets or sets the list of address book EntryIDs linked to by this Message object.
Declaration
public byte[] ContactLinkEntry { get; set; }
Property Value
| Type | Description |
|---|---|
| byte[] |
Remarks
Reference: MS-OXCMSG 2.2.1.57.1 PidLidContactLinkEntry Property
ContactLinkName
Gets or sets the DisplayName property of each address book EntryID referenced in the value of the ContactLinkEntry property (section 2.2.1.57.1).
Declaration
public string ContactLinkName { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
This property can also include names not referenced in the PidLidContactLinkEntry property.
Reference: MS-OXCMSG 2.2.1.57.2 PidLidContacts Property
ContactLinkSearchKey
Gets or sets the list of search keys for the Contact object linked to by this Message object.
Declaration
public byte[] ContactLinkSearchKey { get; set; }
Property Value
| Type | Description |
|---|---|
| byte[] |
Remarks
Search keys are used to find related objects. Search keys for address book data are further specified by the PidTagSearchKey property ([MS-OXCPRPT] section 2.2.1.9).
Reference: MS-OXCMSG 2.2.1.57.4 PidLidContactLinkSearchKey Property
Contacts
Gets or sets the DisplayName property of each address book EntryID referenced in the value of the ContactLinkEntry property.
Declaration
public string[] Contacts { get; set; }
Property Value
| Type | Description |
|---|---|
| string[] |
Remarks
This property can also include names not referenced in the ContactLinkEntry property.
Reference: MS-OXCMSG 2.2.1.57.2 PidLidContacts Property
ContentBase
Gets or sets the value of the Content-Base header, which defines the base Uniform Resource Identifier (URI) for resolving relative URLs contained within the message body.
Declaration
public string ContentBase { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
Reference: MS-OXCMSG 2.2.1.41 PidNameContentBase Property
ContentClass
Gets or sets a string that identifies the type of content of a Message object.
Declaration
public string ContentClass { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
The value of this property is as follows:
- For an E-mail object, the value is as specified in [MS-OXCMAIL] section 2.2.3.2.15.
- For other Message objects, the value is as specified in the technical document that defines the particular Message object.
- For the Web Distributed Authoring and Versioning Protocol (WebDAV), the value is as specified in the technical document that specifies the particular WebDAV extension.
Reference: MS-OXCMSG 2.2.1.48 PidNameContentClass Property
ContentType
Gets or sets the value of the Content-Type header (2), which defines the type of the body part's content.
Declaration
public string ContentType { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
For details about the Content-Type header (2), see [MS-OXCMAIL].
Reference: MS-OXCMSG 2.2.1.50 PidNameContentType Property
CreatorEntryId
Gets or sets the original author of the message according to their address book EntryID.
Declaration
public byte[] CreatorEntryId { get; set; }
Property Value
| Type | Description |
|---|---|
| byte[] |
Remarks
The format of an address book EntryID data type is specified in [MS-OXCDATA] section 2.2.5.2.
Reference: MS-OXCMSG 2.2.1.31 PidTagCreatorEntryId Property
CreatorName
Gets or sets the name of the Message object's creator.
Declaration
public string CreatorName { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
Reference: MS-OXCMSG 2.2.1.51 PidTagCreatorName Property
CurrentVersion
Gets or sets the build number of the client application that sent the message..
Declaration
public int? CurrentVersion { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
Reference: MS-OXCMSG 2.2.1.34 PidLidCurrentVersion Property
CurrentVersionName
Gets or sets the name of the client application that sent the message.
Declaration
public string CurrentVersionName { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
Reference: MS-OXCMSG 2.2.1.35 PidLidCurrentVersionName Property
HasAttachments
Gets or sets whether the Message object contains at least one attachment.
Declaration
public bool? HasAttachments { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
Remarks
This property is read-only for the client.
Reference: MS-OXCMSG 2.2.1.2 PidTagHasAttachments Property
HasNamedProperties
Gets or sets whether whether this Message object supports named properties.
Declaration
public bool? HasNamedProperties { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
Remarks
Reference: MS-OXCMSG 2.2.1.39 PidTagHasNamedProperties Property
Headers
Gets a typed, case-insensitive collection of the Internet message headers
parsed from PidTagTransportMessageHeaders.
Declaration
public MailHeaderCollection Headers { get; }
Property Value
| Type | Description |
|---|---|
| MailHeaderCollection |
Remarks
The collection is lazily parsed on first access and cached. Mutating the collection (adding, removing, or changing a header value) rebuilds the header block and writes it back to the underlying MAPI property.
Header folding (RFC 5322 §2.2.3) is unfolded on parse. RFC 2047 encoded words are preserved in Value and exposed decoded through DecodedValue.
On MapiEmailMessage the underlying property is exposed through TransportMessageHeaders; setting that property invalidates this collection's cache.
Html
Gets or sets the message body text in HTML format.
Declaration
public byte[] Html { get; set; }
Property Value
| Type | Description |
|---|---|
| byte[] |
Remarks
Reference: MS-OXCMSG 2.2.1.56.9 PidTagHtml Property
Importance
Gets or sets the level of importance assigned by the end user to the Message object.
Declaration
public int? Importance { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
This property MUST be set to one of the following values.
| Value | Meaning |
|---|---|
| 0x00000000 | Low importance. |
| 0x00000001 | Normal importance. |
| 0x00000002 | High importance. |
Reference: MS-OXCMSG 2.2.1.11 PidTagImportance Property
InfoPathFormName
Gets or sets the name of the form associated with this message, if one exists.
Declaration
public string InfoPathFormName { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
The relationship between this property and the Content-Class MIME header (2) is specified in [MS-OXCMAIL] sections 2.1.3.2.2 and 2.2.3.2.15.
Reference: MS-OXCMSG 2.2.1.27 PidLidInfoPathFormName Property
InternetCodepage
Gets or sets the code page used for the Body property or the BodyHtml property.
Declaration
public int? InternetCodepage { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
Reference: MS-OXCMSG 2.2.1.56.6 PidTagInternetCodepage Property
InternetReferences
Gets or sets a list of message IDs (MIDs), as specified in [MS-OXCDATA] section 2.2.1.2, that specify the messages to which this reply is related.
Declaration
public string InternetReferences { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
The format of this property is specified in [RFC2822].
Reference: MS-OXCMSG 2.2.1.26 PidTagInternetReferences Property
Keywords
Gets or sets keywords or categories for the Message object.
Declaration
public virtual string[] Keywords { get; set; }
Property Value
| Type | Description |
|---|---|
| string[] |
Remarks
The length of each string within the multivalue string is less than 256 characters.
Reference: MS-OXCMSG 2.2.1.17 PidNameKeywords Property
LastModifierEntryId
Gets or sets the last user to modify the contents of the message according to their address book EntryID.
Declaration
public byte[] LastModifierEntryId { get; set; }
Property Value
| Type | Description |
|---|---|
| byte[] |
Remarks
The format of an address book EntryID data type is specified in [MS-OXCDATA] section 2.2.5.2.
Reference: MS-OXCMSG 2.2.1.32 PidTagLastModifierEntryId Property
LocalCommitTime
Gets or sets the time, in UTC, that the message was last changed.
Declaration
public DateTime? LocalCommitTime { get; set; }
Property Value
| Type | Description |
|---|---|
| DateTime? |
Remarks
The changes include any change to the read state of the message.
Reference: MS-OXCMSG 2.2.1.49 PidTagLocalCommitTime Property
MessageAttachments
Gets or sets identifiers that correspond to a message's attachments.
Declaration
public byte[] MessageAttachments { get; set; }
Property Value
| Type | Description |
|---|---|
| byte[] |
Remarks
Reference: MS-OXCMSG 2.2.1.52 PidTagMessageAttachments Property
MessageClass
Gets or sets the specific type of the Message object. It determines the set of properties defined for the message, the kind of information the message conveys, and how to handle the message.
Declaration
public virtual string MessageClass { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
All characters in this property MUST be from the ASCII characters 0x20 through 0x7F. It MUST NOT end with a period (ASCII character 0x2E), and its length MUST be greater than zero and less than 256 characters. Furthermore, its length SHOULD be fewer than 128 characters because some operations require extending the value of the MessageClass property. Any equality or matching operations performed against the value of this property MUST be case-insensitive. The value of this property is interpreted in groups of characters separated by periods ("."). Each group specifies a type of object. A message class of "IPM.Note" denotes a standard Message object, and a message class of "Remote.IPM.Note" indicates a header message object.
Reference: MS-OXCMSG 2.2.1.3 PidTagMessageClass Property
MessageCodepage
Gets the code page used to encode the non-Unicode string properties on this Message object.
Declaration
public int? MessageCodepage { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
The Folder object code page is used if this property is set to 0x0000.
Reference: MS-OXCMSG 2.2.1.4 PidTagMessageCodepage Property
MessageFlags
Gets or sets the status of the Message object.
Declaration
public int? MessageFlags { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
Set to zero or to a bitwise OR of one or more of the values from the following tables.
| Flag name | Value | Description |
|---|---|---|
| mfRead | 0x00000001 | The message is marked as having been read. |
| mfUnmodified | 0x00000002 | The message has not been modified since it was first saved (if unsent) or it was delivered (if sent). |
| mfSubmitted | 0x00000004 | The message is marked for sending as a result of a call to the RopSubmitMessage ROP |
| mfUnsent | 0x00000008 | The message is still being composed and is treated as a Draft Message object. This bit is cleared by the server when responding to the RopSubmitMessage ROP ([MS-OXCROPS] section 2.2.7.1) with a success code. |
| mfHasAttach | 0x00000010 | The message has at least one attachment. This flag corresponds to the message's PidTagHasAttachments property (section 2.2.1.2). |
| mfFromMe | 0x00000020 | The user receiving the message was also the user who sent the message. |
| mfFAI | 0x00000040 | The message is an FAI message. |
| mfResend | 0x00000080 | The message includes a request for a resend operation with a non-delivery report. For more details, see [MS-OXOMSG] section 3.2.4.5. |
| mfNotifyRead | 0x00000100 | The user who sent the message has requested notification when a recipient (1) first reads it. |
| mfNotifyUnread | 0x00000200 | The user who sent the message has requested notification when a recipient (1) deletes it before reading or the Message object expires. |
| mfEverRead | 0x00000400 | The message has been read at least once. This flag is set or cleared by the server whenever the mfRead flag is set or cleared. Clients SHOULD ignore this flag. |
| mfInternet | 0x00002000 | The incoming message arrived over the Internet and originated either outside the organization or from a source the gateway does not consider trusted. |
| mfUntrusted | 0x00008000 | The incoming message arrived over an external link other than X.400 or the Internet. It originated either outside the organization or from a source the gateway does not consider trusted. |
Reference: MS-OXCMSG 2.2.1.6 PidTagMessageFlags Property
MessageLocaleId
Gets or sets the language code identifier (LCID) of the end-user who created this message. For more details see [MS-LCID].
Declaration
public int? MessageLocaleId { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
Reference: MS-OXCMSG 2.2.1.5 PidTagMessageLocaleId Property
MessageRecipients
Gets or sets a restriction table that can be used to find all messages containing the recipients in a contents table.
Declaration
public byte[] MessageRecipients { get; set; }
Property Value
| Type | Description |
|---|---|
| byte[] |
Remarks
The restriction is a SubObjectRestriction structure, as specified in [MS-OXCDATA] section 2.12.10.
Reference: MS-OXCMSG 2.2.1.47 PidTagMessageRecipients Property
MessageSize
Gets or sets the size in bytes consumed by the Message object on the server.
Declaration
public int? MessageSize { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
This property is read-only for the client.
Reference: MS-OXCMSG 2.2.1.7 PidTagMessageSize Property
MessageStatus
Gets or sets the status of a message in a contents table.
Declaration
public int? MessageStatus { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
Contains a bitwise OR of zero or more of the following values.
| Flag name | Value | Description |
|---|---|---|
| msRemoteDownload | 0x00001000 | The message has been marked for downloading from the remote message store to the local client. |
| msInConflict | 0x00000800 | This is a conflict resolve message as specified in [MS-OXCFXICS] section 3.1.5.6.2.1. This is a read-only value for the client. |
| msRemoteDelete | 0x00002000 | The message has been marked for deletion at the remote message store without downloading to the local client. |
Reference: MS-OXCMSG 2.2.1.8 PidTagMessageStatus Property
Mileage
Gets or sets the mileage information that is associated with an item.
Declaration
public string Mileage { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
Reference: Outlook 2013 MAPI Reference > Reference > Properties > PidLidMileage Canonical Property
MimeSkeleton
Gets or sets all the top level MIME message headers, all MIME message body part headers, and body part content that is not already converted to Message object properties, including attachments.
Declaration
public byte[] MimeSkeleton { get; set; }
Property Value
| Type | Description |
|---|---|
| byte[] |
Remarks
The use of the MimeSkeleton property for converting between MIME messages and Message object format is specified in [MS-OXCMAIL] section 2.4.3.1.
Reference: MS-OXCMSG 2.2.1.28 PidTagMimeSkeleton Property
NativeBody
Get or sets the best available format for storing the message body.
Declaration
public int? NativeBody { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
The value of this property is limited to one of the property values shown in the following table.
| Value | Meaning |
|---|---|
| 0x00000000 | Undefined body |
| 0x00000001 | Plain text body |
| 0x00000002 | Rich Text Format (RTF) compressed body |
| 0x00000003 | HTML body |
| 0x00000004 | Clear-signed body |
Reference: 2.2.1.56.2 PidTagNativeBody Property
NormalizedSubject
Gets or sets the normalized subject of the message, as specified in [MS-OXCMAIL] section 2.2.3.2.6.1.
Declaration
public string NormalizedSubject { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
This property is set by the client but can be an empty string if there is no subject. The sum of the lengths of the NormalizedSubject property and the SubjectPrefix property MUST be less than 254 characters.
Reference: MS-OXCMSG 2.2.1.10 PidTagNormalizedSubject Property
PolicyTag
Gets or sets the GUID of an retention tag.
Declaration
public byte[] PolicyTag { get; set; }
Property Value
| Type | Description |
|---|---|
| byte[] |
Remarks
The PolicyTag property can be present on both Message objects and folders and can be set by both client and server.
Reference: MS-OXCMSG 2.2.1.58.2 PidTagPolicyTag Property
Priority
Gets or sets the client's request for the priority at which the message is to be sent by the messaging system.
Declaration
public int? Priority { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
This property is set to one of the following values.
| Value | Meaning |
|---|---|
| 0x00000001 | Urgent |
| 0x00000000 | Normal |
| 0xFFFFFFFF | Not urgent |
Reference: MS-OXCMSG 2.2.1.12 PidTagPriority Property
Private
Gets or sets a value which is set to True if the end user wants this Message object to be hidden from other users who have access to the Message object.
Declaration
public bool? Private { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
Remarks
Reference: MS-OXCMSG 2.2.1.15 PidLidPrivate Property
PurportedSenderDomain
Gets or sets the domain name of the last sender responsible for transmitting the current message.
Declaration
public string PurportedSenderDomain { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
Reference: MS-OXCMSG 2.2.1.43 PidTagPurportedSenderDomain Property
Read
Gets or sets whether a message has been read.
Declaration
public bool? Read { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
Remarks
Reference: MS-OXCMSG 2.2.1.53 PidTagRead Property
RecipientDisplayName
Gets or sets the display name of a recipient.
Declaration
public string RecipientDisplayName { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
Reference: MS-OXCMSG 2.2.1.54 PidTagRecipientDisplayName Property
RecipientEntryId
Gets or sets an EntryID that identifies the Address Book object associated with a recipient.
Declaration
public byte[] RecipientEntryId { get; set; }
Property Value
| Type | Description |
|---|---|
| byte[] |
Remarks
Reference: MS-OXCMSG 2.2.1.55 PidTagRecipientEntryId Property
RecipientOrder
Gets or sets the location of the current recipient in the recipient table.
Declaration
public int? RecipientOrder { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
Reference: MS-OXCMSG 2.2.1.40 PidTagRecipientOrder Property
Recipients
Gets or sets the recipients value.
Declaration
public virtual IList<IMapiRecipient> Recipients { get; }
Property Value
| Type | Description |
|---|---|
| IList<IMapiRecipient> |
Remarks
Reference: MS-OXCMSG Message and Attachment Object Protocol
Responsibility
Gets or sets whether another mail agent has ensured that the message will be delivered.
Declaration
public bool? Responsibility { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
Remarks
This property is set to True if another agent has accepted responsibility; otherwise, False.
Reference: MS-OXCMSG 2.2.1.37 PidTagResponsibility Property
RetentionDate
Gets or sets the date, in UTC, after which a Message object is expired by the server.
Declaration
public DateTime? RetentionDate { get; set; }
Property Value
| Type | Description |
|---|---|
| DateTime? |
Remarks
The RetentionDate property can be resent only on Message objects, not on folders. If the property is not present, the Message object never expires. The RetentionDate property can be set by both client and server.
Reference: MS-OXCMSG 2.2.1.58.5 PidTagRetentionDate Property
RetentionFlags
Gets or sets flags that specify the status or nature of an item's retention tag or archive tag.
Declaration
public int? RetentionFlags { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
The value of the PidTagRetentionFlags property is a bitwise OR of zero or more of the values from the following table.
| Flag name | Value | Description |
|---|---|---|
| ExplicitTag | 0x00000001 | The retention tag on the folder is explicitly set. |
| UserOverride | 0x00000002 | The retention tag was not changed by the end user. |
| AutoTag | 0x00000004 | The retention tag on the Message object is an autotag, which is predicted by the system. |
| PersonalTag | 0x00000008 | The retention tag on the folder is of a personal type and can be made available to the end user. |
| ExplicitArchiveTag | 0x00000010 | The archive tag on the folder is explicitly set. |
| KeepInPlace | 0x00000020 | The Message object remains in place and is not archived. |
| SystemData | 0x00000040 | The Message object or folder is system data. |
| NeedsRescan | 0x00000080 | The folder needs to be rescanned. |
| PendingRescan | 0x00000100 | The folder is being rescanned. |
Reference: MS-OXCMSG 2.2.1.58.3 PidTagRetentionPeriod Property
RetentionPeriod
Gets or sets the number of days that a Message object can be retained.
Declaration
public int? RetentionPeriod { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
The PidTagRetentionPeriod property can be present on both Message objects and folders and can be set by both client and server.
Reference: MS-OXCMSG 2.2.1.58.3 PidTagRetentionPeriod Property
Rowid
Gets or sets a unique identifier for a recipient in the message's recipient table..
Declaration
public int? Rowid { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
This is a temporary identifier that is valid only for the life of the Table object.
Reference: MS-OXCMSG 2.2.1.38 PidTagRowid Property
RtfCompressed
Gets or sets an RTF body compressed as specified in [MS-OXRTFCP].
Declaration
public byte[] RtfCompressed { get; set; }
Property Value
| Type | Description |
|---|---|
| byte[] |
Remarks
Reference: MS-OXCMSG 2.2.1.56.4 PidTagRtfCompressed Property
RtfInSync
Gets or sets whether the RTF body has been synchronized with the contents in the PidTagBody property
Declaration
public bool? RtfInSync { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
Remarks
Reference: MS-OXCMSG 2.2.1.56.5 PidTagRtfInSync Property
RtfSyncBodyCount
Gets or sets a count of the significant characters of the message text.
Declaration
public int? RtfSyncBodyCount { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
The RTFSync function computes the count of characters in the text using only those that it considers to be significant to the message. For example, some white space and other ignorable characters are omitted from the count.
This property is a Rich Text Format (RTF) auxiliary property. These properties are used by the RTFSync function and are not intended to be used directly by client applications.
Reference: Outlook 2013 MAPI Reference > Reference > Properties > PidTagRtfSyncBodyCount Canonical Property
RtfSyncBodyCrc
Gets or sets the cyclical redundancy check (CRC) computed for the message text.
Declaration
public int? RtfSyncBodyCrc { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
The RTFSync function computes the CRC by using only the characters that it considers to be significant to the message. For example, some white space and other ignorable characters are omitted from the CRC.
This property is a Rich Text Format (RTF) auxiliary property. These properties are used by the RTFSync function and are not intended to be used directly by client applications.
Reference: Outlook 2013 MAPI Reference > Reference > Properties > PidTagRtfSyncBodyCrc Canonical Property
RtfSyncBodyTag
Gets or sets significant characters that appear at the beginning of the message text.
Declaration
public string RtfSyncBodyTag { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
The RTFSync function uses the text tag to indicate the beginning of the message text. When the text is modified, the tag is used to find the beginning of the previous text.
These properties are Rich Text Format auxiliary properties. They are used by the RTFSync function and are not intended to be used directly by client applications.
Reference: Outlook 2013 MAPI Reference > Reference > Properties > PidTagRtfSyncBodyTag Canonical Property
RtfSyncPrefixCount
Gets or sets a count of the ignorable characters that appear before the significant characters of the message.
Declaration
public int? RtfSyncPrefixCount { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
The count of prefix characters does not include white space.
This property is a Rich Text Format (RTF) auxiliary property. RTF auxiliary properties are used by the RTFSync function and are not intended to be used directly by client applications.
Reference: Outlook 2013 MAPI Reference > Reference > Properties > PidTagRtfSyncPrefixCount Canonical Property
RtfSyncTrailingCount
Gets or sets a count of the ignorable characters that appear after the significant characters of the message.
Declaration
public int? RtfSyncTrailingCount { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
This property is a Rich Text Format (RFT) auxiliary property. These properties are used by the RTFSync function and are not intended to be used directly by client applications.
Reference: Outlook 2013 MAPI Reference > Reference > Properties > PidTagRtfSyncTrailingCount Canonical Property
SenderAddressType
Gets or sets the sending mailbox owner's e-mail address type, as specified by the AddressType field of the RecipientRow structure.
Declaration
public string SenderAddressType { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
Reference: MS-OXOMSG 2.2.1.48 PidTagSenderAddressType Property
SenderEmailAddress
Gets or sets the sending mailbox owner's e-mail address, as specified by the EmailAddress field of the RecipientRow structure.
Declaration
public virtual string SenderEmailAddress { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
Reference: MS-OXOMSG 2.2.1.49 PidTagSenderEmailAddress Property
SenderEntryId
Gets or sets an address book EntryID that contains the sending mailbox owner's address book EntryID, as specified by the address book EntryID.
Declaration
public byte[] SenderEntryId { get; set; }
Property Value
| Type | Description |
|---|---|
| byte[] |
Remarks
Reference: MS-OXOMSG 2.2.1.50 PidTagSenderEntryId Property
SenderName
Gets or sets the sending mailbox owner's display name, as specified by the DisplayName field of the RecipientRow structure.
Declaration
public virtual string SenderName { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
Reference: MS-OXOMSG 2.2.1.51 PidTagSenderName Property
SenderSearchKey
Gets or sets an address book search key that contains a binary-comparable key computed by concatenating the value of the sending mailbox owner's AddressType property and EmailAddress property with a colon in between (for example, <TYPE>:<E_MAIL ADDRESS>), as specified by the SearchKey field of the RecipientRow structure ([MS-OXCDATA] section 2.8.3.2)..
Declaration
public byte[] SenderSearchKey { get; set; }
Property Value
| Type | Description |
|---|---|
| byte[] |
Remarks
Reference: MS-OXOMSG 2.2.1.52 PidTagSenderSearchKey Property
SenderSmtpAddress
Gets or sets the Simple Mail Transfer Protocol (SMTP) e-mail address format of the e-mail address of the sending mailbox owner.
Declaration
public string SenderSmtpAddress { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
Reference: MS-OXOMSG 2.2.1.53 PidTagSenderSmtpAddress Property
Sensitivity
Gets or sets the sender's assessment of the sensitivity of the Message object.
Declaration
public int? Sensitivity { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
The value of this property is one of the following.
| Value | Meaning |
|---|---|
| 0x00000000 | Normal |
| 0x00000001 | Personal |
| 0x00000002 | Private |
| 0x00000003 | Confidential |
Reference: MS-OXCMSG 2.2.1.13 PidTagSensitivity Property
SentRepresentingAddressType
Gets or sets an e-mail address type for the end user represented by the sending mailbox owner.
Declaration
public string SentRepresentingAddressType { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
If the sending mailbox owner is sending on his or her own behalf, this property MUST be set to the value of the SenderAddressType property (section 2.2.1.48). Reference: MS-OXOMSG 2.2.1.54 PidTagSentRepresentingAddressType Property
SentRepresentingEmailAddress
Gets or sets an an e-mail address, as specified by the EmailAddress field of the RecipientRow structure, for the end user who is represented by the sending mailbox owner.
Declaration
public virtual string SentRepresentingEmailAddress { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
If a sending mailbox owner is sending on his or her own behalf, this property is set to the value of the SenderEmailAddress property. Reference: MS-OXOMSG 2.2.1.55 PidTagSentRepresentingEmailAddress Property
SentRepresentingEntryId
Gets or sets an e-mail address, as specified by the EmailAddress field of the RecipientRow structure, for the end user who is represented by the sending mailbox owner.
Declaration
public byte[] SentRepresentingEntryId { get; set; }
Property Value
| Type | Description |
|---|---|
| byte[] |
Remarks
If a sending mailbox owner is sending on his or her own behalf, this property is set to the value of the SenderEmailAddress property. Reference: MS-OXOMSG 2.2.1.56 PidTagSentRepresentingEntryId Property
SentRepresentingName
Gets or sets the display name for the end user who is represented by the sending mailbox owner.
Declaration
public virtual string SentRepresentingName { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
If a sending mailbox owner is sending on his or her own behalf, this property MUST be set to the value of the SenderName property. Reference: MS-OXOMSG 2.2.1.57 PidTagSentRepresentingName Property
SentRepresentingSearchKey
Gets or sets an address book search key, as specified by the SearchKey field of the RecipientRow structure, that contains a binary-comparable key that represents the end user who is represented by the sending mailbox owner.
Declaration
public byte[] SentRepresentingSearchKey { get; set; }
Property Value
| Type | Description |
|---|---|
| byte[] |
Remarks
If a sending mailbox owner sends on his or her own behalf, this property is set to the value of the SenderSearchKey property. Reference: MS-OXOMSG 2.2.1.58 PidTagSentRepresentingSearchKey Property
SentRepresentingSmtpAddress
Gets or sets the SMTP e-mail address of the end user who is represented by the sending mailbox owner.
Declaration
public string SentRepresentingSmtpAddress { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
Reference: MS-OXOMSG 2.2.1.59 PidTagSentRepresentingSmtpAddress Property
SideEffects
Gets or sets a value that controls how a Message object is handled by the client in relation to certain user interface actions by the user, such as deleting a message.
Declaration
public virtual int? SideEffects { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
This property is set to a bitwise OR of zero or more of the following flags.
| Flag name | Value | Description |
|---|---|---|
| seOpenToDelete | 0x00000001 | The client opens the Message object when deleting. |
| seNoFrame | 0x00000008 | No UI is associated with the Message object. |
| seCoerceToInbox | 0x00000010 | The client moves the Message object to the Inbox folder when moving or copying to a Folder object with the ContainerClass property set to "IPF.Note". |
| seOpenToCopy | 0x00000020 | The client opens the Message object when copying to another folder. |
| seOpenToMove | 0x00000040 | The client opens the Message object when moving to another folder. |
| seOpenForCtxMenu | 0x00000100 | The client opens the Message object when displaying contextsensitive commands, such as a context menu, to the end user. |
| seCannotUndoDelete | 0x00000400 | The client cannot undo a delete operation; this flag MUST NOT be set unless the seOpenToDelete flag is set. |
| seCannotUndoCopy | 0x00000800 | The client cannot undo a copy operation; this flag MUST NOT be set unless the seOpenToCopy flag is set. |
| seCannotUndoMove | 0x00001000 | The client cannot undo a move operation; this flag MUST NOT be set unless the seOpenToMove flag is set. |
| seHasScript | 0x00002000 | The Message object contains end-user script. |
| seOpenToPermDelete | 0x00004000 | The client opens the Message object to permanently delete it. |
Reference: MS-OXCMSG 2.2.1.16 PidLidSideEffects Property
SmartNoAttach
Gets or sets a value which is set to True if the Message object has no attachments that are visible to the end user. If this property is unset, a default value of False is used.
Declaration
public bool? SmartNoAttach { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
Remarks
Reference: MS-OXCMSG 2.2.1.14 PidLidSmartNoAttach Property
StartDateEtc
Gets or sets the default retention period. or Gets or sets The date, in UTC, from which the age of the Message object is calculated.
Declaration
public byte[] StartDateEtc { get; set; }
Property Value
| Type | Description |
|---|---|
| byte[] |
Remarks
The PidTagRetentionPeriod property can be present on both Message objects and folders and can be set by both client and server.
Reference: MS-OXCMSG 2.2.1.58.4 PidTagStartDateEtc Property
StoreEntryId
Gets or sets the the unique EntryID of the message store where an object resides.
Declaration
public byte[] StoreEntryId { get; set; }
Property Value
| Type | Description |
|---|---|
| byte[] |
Remarks
The format of this property is specified in [MS-OXCDATA] section 2.2.4.
Reference: MS-OXCMSG 2.2.1.44 PidTagStoreEntryId Property
Subject
Gets or sets the full subject of an e-mail message.
Declaration
public string Subject { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
The full subject is a concatenation of the subject prefix, as identified by the SubjectPrefix property, and the normalized subject, as identified by the NormalizedSubject property. If the SubjectPrefix property is not set or is set to an empty string, then the values of the Subject and NormalizedSubject properties are equal.
When the raw PidTagSubject property contains the MAPI control-code prefix (0x01 0x01) that encodes the subject prefix (e.g. "RE:"), the getter strips it so callers always receive the human-readable subject.
Reference: MS-OXCMSG 2.2.1.46 PidTagSubject Property
SubjectPrefix
Gets or sets the prefix for the subject of the message.
Declaration
public virtual string SubjectPrefix { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
This property is set by the client but can be an empty string if there is no subject. The sum of the lengths of the NormalizedSubject property and the SubjectPrefix property MUST be less than 254 characters.
Reference: MS-OXCMSG 2.2.1.9 PidTagSubjectPrefix Property
TnefCorrelationKey
Gets or sets a value that correlates a Transport Neutral Encapsulation Format (TNEF) attachment with a message.
Declaration
public byte[] TnefCorrelationKey { get; set; }
Property Value
| Type | Description |
|---|---|
| byte[] |
Remarks
This property determines whether or not an inbound TNEF file belongs to the message it is attached to. It is used primarily by transport providers and gateways.
Reference: MS-OXCMSG 2.2.1.29 PidTagTnefCorrelationKey Property
TrustSender
Gets or sets whether the message was delivered through a trusted transport channel.
Declaration
public int? TrustSender { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
Remarks
This property is a Boolean integer. Valid values are given in the following table.
| Value | Meaning |
|---|---|
| 0x00000000 | Message was not delivered through a trusted transport channel. |
| 0x00000001 | Message was delivered through a trusted transport channel. |
Reference: MS-OXCMSG 2.2.1.45 PidTagTrustSender
Methods
View SourceAddAttachmentFrom(MapiAttachment)
Adds a deep copy of the specified attachment to this message. Override in backends to create storage-backed attachment entries.
Declaration
protected virtual void AddAttachmentFrom(MapiAttachment source)
Parameters
| Type | Name | Description |
|---|---|---|
| MapiAttachment | source | The source of the data. |
Remarks
Reference: MS-OXCMSG Message and Attachment Object Protocol
From(MapiMessage)
Represents a Message Object which is representation of end-users' data that store properties and are persisted in a folder hierarchy within a message store.
Declaration
public virtual void From(MapiMessage other)
Parameters
| Type | Name | Description |
|---|---|---|
| MapiMessage | other |
Remarks
Clones properties from other message. Clone recipients.
InvalidateHeadersCache()
Invalidates the cached header collection so it is re-parsed on next access.
Declaration
protected void InvalidateHeadersCache()
Remarks
Reference: MS-OXCMSG Message and Attachment Object Protocol