From e6d1ae37d5202db0e8956cd39cd9953abeb0773c Mon Sep 17 00:00:00 2001 From: sicos1977 Date: Fri, 9 Nov 2018 18:52:57 +0100 Subject: [PATCH] Target .NET 4.5 and .NETSTANDARD 2.0 --- .vs/MsgKit/DesignTimeBuild/.dtbcache | Bin 12970 -> 12970 bytes MigrationBackup/3c78f2da/MsgKit/MsgKit.csproj | 209 - .../3c78f2da/MsgKit/NuGetUpgradeLog.html | 163 - .../3c78f2da/MsgKit/packages.config | 6 - MsgKit/MsgKit.csproj | 38 +- MsgKit/MsgKit.xml | 11215 ++++++++++++++++ MsgKitTestTool/MsgKitTestTool.csproj | 6 + 7 files changed, 11257 insertions(+), 380 deletions(-) delete mode 100644 MigrationBackup/3c78f2da/MsgKit/MsgKit.csproj delete mode 100644 MigrationBackup/3c78f2da/MsgKit/NuGetUpgradeLog.html delete mode 100644 MigrationBackup/3c78f2da/MsgKit/packages.config create mode 100644 MsgKit/MsgKit.xml diff --git a/.vs/MsgKit/DesignTimeBuild/.dtbcache b/.vs/MsgKit/DesignTimeBuild/.dtbcache index 25293f47230755af91840985052faa414d0822f5..65452866f072505dd7451df5af9840459a238b5c 100644 GIT binary patch delta 23 fcmZ3Lx+-;o2&3U-c}@4p5t@7xi{v(TC>a3&WPb - - - - Debug - AnyCPU - {F4DC97AC-B333-4DF0-9A5C-546C77A63AC8} - Library - Properties - MsgKit - MsgKit - v4.5 - 512 - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - bin\Debug\MsgKit.xml - false - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - bin\Release\MsgKit.XML - false - - - true - - - MsgKit.snk - - - - ..\packages\BouncyCastle.1.8.4\lib\BouncyCastle.Crypto.dll - - - ..\packages\MimeKit.2.0.7\lib\net45\MimeKit.dll - - - ..\packages\OpenMcdf.2.2.1.3\lib\net40\OpenMcdf.dll - - - - - - - - - - - - - - - ..\packages\BouncyCastle.1.8.4\lib\BouncyCastle.Crypto.dll - - - ..\packages\MimeKit.2.0.7\lib\net45\MimeKit.dll - - - ..\packages\OpenMcdf.2.2.1.3\lib\net40\OpenMcdf.dll - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/MigrationBackup/3c78f2da/MsgKit/NuGetUpgradeLog.html b/MigrationBackup/3c78f2da/MsgKit/NuGetUpgradeLog.html deleted file mode 100644 index cd3cea9..0000000 --- a/MigrationBackup/3c78f2da/MsgKit/NuGetUpgradeLog.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - NuGetMigrationLog -

- NuGet Migration Report - MsgKit

Overview

Migration to PackageReference was completed successfully. Please build and run your solution to verify that all packages are available.
- If you run into any problems, have feedback, questions, or concerns, please - file an issue on the NuGet GitHub repository.
- Changed files and this report have been backed up here: - D:\Progsoft\_GitHub_\MSGKit\MigrationBackup\3c78f2da\MsgKit

Packages processed

Top-level dependencies:

Package IdVersion
BouncyCastle - v1.8.4
MimeKit - v2.0.7
OpenMcdf - v2.2.1.3

Transitive dependencies:

Package IdVersion
- No transitive dependencies found. -

Package compatibility issues

Description
BouncyCastle - v1.8.4
The assembly 'lib\lib\BouncyCastle.Crypto.dll' will be ignored when the package is installed after the migration.
\ No newline at end of file diff --git a/MigrationBackup/3c78f2da/MsgKit/packages.config b/MigrationBackup/3c78f2da/MsgKit/packages.config deleted file mode 100644 index e3e34fc..0000000 --- a/MigrationBackup/3c78f2da/MsgKit/packages.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/MsgKit/MsgKit.csproj b/MsgKit/MsgKit.csproj index c9c88ae..2c9758e 100644 --- a/MsgKit/MsgKit.csproj +++ b/MsgKit/MsgKit.csproj @@ -1,12 +1,46 @@ - netcoreapp2.0 + net45;netstandard2.0 + 2.0.0 + MsgKit is a 100% managed C# .NET library (no PINVOKE or whatsoever) which may be used for the creation and parsing (in the near future) of messages (E-Mail, Appointments, Journals and Stickey Notes) that are Outlook compatible + Kees van Spelde + Kees van Spelde + (c)2018 - Kees van Spelde + https://github.com/Sicos1977/MsgKit + https://opensource.org/licenses/MIT + http://icons.iconarchive.com/icons/carlosjj/microsoft-office-2013/64/Outlook-icon.png + https://github.com/Sicos1977/MsgKit + Git + Outlook MSG E-mail Appointment + true + - MsgKit now targets both .NET 4.5 and .NETSTANDARD 2.0 (Core) - + + D:\Progsoft\_GitHub_\MSGKit\MsgKit\MsgKit.xml + + + + D:\Progsoft\_GitHub_\MSGKit\MsgKit\MsgKit.xml + + + + D:\Progsoft\_GitHub_\MSGKit\MsgKit\MsgKit.xml + + + + D:\Progsoft\_GitHub_\MSGKit\MsgKit\MsgKit.xml + + + + + + + + diff --git a/MsgKit/MsgKit.xml b/MsgKit/MsgKit.xml new file mode 100644 index 0000000..3e0ed47 --- /dev/null +++ b/MsgKit/MsgKit.xml @@ -0,0 +1,11215 @@ + + + + MsgKit + + + + + A base class for , , + and + + + + + The messaging user's e-mail address type + + + + + The E-mail address + + + + + The displayname for the + + + + + Returns the messaging user's e-mail address type. Use + when this property returns + + + + + Returns the as a string + + + + + Creates this object and sets all it's needed properties + + The full E-mail address + The displayname for the + The + + + + Inherits from Email, because it has quite a few of the same fields + + + + + Holds the location for the Appointment + + + + + This property specifies whether or not the event is an all-day event, as + specified by the user. A value of true indicates that the event is an all-day + event, in which case the start time and end time must be midnight so that the + duration is a multiple of 24 hours and is at least 24 hours. A value of false + or the absence of this property indicates the event is not an all-day event. The + client or server must not infer the value as TRUE when a user happens to create an + event that is 24 hours, even if the event starts and ends at midnight. + + + + + Holds meeting information for the appointment + + + + + The end of the meeting + + + + + Sends an appointment with sender, representing, subject, draft. + + Contains sender name and email. + Contains who this appointment is representing. + Contains the subject for this appointment. + Is this a draft? + + + + Used to send without the representing structure. + + + + + + + + Writes all the properties that are part of the object either as 's + or 's to the + + + + + Saves the message to the given + + + + + + Saves the message to the given + + + + + + Contains a list of objects that are added to a + + + See https://msdn.microsoft.com/en-us/library/office/cc842285.aspx + + + + + Checks if the already exists in this object + + + + + + + Writes the objects to the given + and it will set all the needed properties + + The root + + Total size of the written objects and it's + + + + + Add's an by (default) + + The file to add with it's full path + Indicates how an attachment should be displayed in a rich text message + Set to true to add the attachment inline + The id for the inline attachment when is set to true + Raised when the could not be found + Raised when an attachment with the same name already exists + + Raised when is set to true and + is null, white space or empty + + + + + Add's an stream by (default) + + The stream to the attachment + The name for the attachment + Indicates how an attachment should be displayed in a rich text message + Set to true to add the attachment inline + The id for the inline attachment when is set to true + Raised when the stream is null + Raised when an attachment with the same name already exists + + Raised when is set to true and + is null, white space or empty + + + + + Add's an by as a link + + The + Indicates how an attachment should be displayed in a rich text message + Set to true to add the attachment inline + The id for the inline attachment when is set to true + Raised when the could not be found + Raised when an attachment with the same name already exists + + Raised when is set to true and + is null, white space or empty + + + Universal naming convention (UNC) names are recommended for fully-qualified paths, which should be used with + . + + + + + This class represents an attachment + + + + + The stream to the attachment + + + + + The filename of the attachment + + + + + The + + + + + Indicates how an attachment should be displayed in a rich text message. It can be set to an + offset in characters, with the first character of the message content as stored in the + (PidTagBody) property being offset 0, or to -1 (0xFFFFFFFF), indicating that the attachment should + not be rendered within the message text at all. + + + + + True when the attachment is inline + + + + + The content id for an inline attachment + + + + + Returns true when the attachment is a contact photo + + + Only valid when the message is a contact card, otherwise always false + + + + + Tthe date and time when the attachment was created + + + + + The date and time when the attachment was last modified + + + + + Creates a new attachment object and sets all its properties + + The stream to the attachment + The attachment filename with it's full path + The date and time when the attachment was created + The date and time when the attachment was last modified + The + Indicates how an attachment should be displayed in a rich text message + True when the attachment is inline + The id for the attachment when is set to true + Set to true when the attachment is a contact photo + + Raised when is set to true and + is null, white space or empty + + + + + Creates a new attachment object and sets all its properties + + The + The + Indicates how an attachment should be displayed in a rich text message + True when the attachment is inline + The id for the attachment when is set to true + Set to true when the attachment is a contact photo + + Raised when is set to true and + is null, white space or empty + + + + + This method will convert a long filename to a short dos 8.3 one + + The long filename + + + + + Writes all the string and binary properties as a to the + given + + The + The index + + Total size of the written object and it's + + + + + This class exposes some methods to convert MSG to EML and vice versa + + + + + Converts an EML file to MSG format + + The EML (MIME) file + The MSG file + + + + Converts an MSG file to EML format + + The MSG file + The EML (MIME) file + + + + A class used to make a new Outlook E-mail MSG file + + + See https://msdn.microsoft.com/en-us/library/office/cc979231.aspx + + + + + The to find the prefix in a subject + + + + + The E-mail + + + + + The E-mail + + + + + The subject of the E-mail + + + + + Returns the sender of the E-mail from the + + + + + Contains the e-mail address for the messaging user represented by the . + + + These properties are examples of the address properties for the messaging user who is being represented by the + user. They must be set by the incoming transport provider, which is also responsible for + authorization or verification of the delegate. If no messaging user is being represented, these properties should + be set to the e-mail address contained in the PR_RECEIVED_BY_EMAIL_ADDRESS (PidTagReceivedByEmailAddress) property. + + + + + Returns the E-mail + + + + + Contains the e-mail address for the messaging user who receives the message. + + + These properties are examples of the address properties for the messaging user who receives the message. They must + be set by the incoming transport provider. + + + + + Contains the e-mail address for the messaging user who is represented by the user. + + + These properties are examples of the address properties for the messaging user who is being represented by the + user. They must be set by the incoming transport provider, which is also responsible for + authorization or verification of the delegate. If no messaging user is being represented, these properties should + be set to the e-mail address contained in the PR_RECEIVED_BY_EMAIL_ADDRESS (PidTagReceivedByEmailAddress) property. + + + + + Returns the subject prefix of the E-mail + + + + + Returns or sets the subject of the E-mail + + + + + Returns the normalized subject of the E-mail + + + + + Returns or sets the + + + + + Returns or sets the + + + + + Returns or sets the text body of the E-mail + + + + + Returns or sets the html body of the E-mail + + + + + The compressed RTF body part + + + When not set then the RTF is generated from (when this property is set) + + + + + Returns or set to true when is compressed + + + + + The E-mail + + + + + Returns or sets the UTC date and time the has submitted the + + + + This property has to be set to UTC datetime. When not set then the current date + and time is used + + + + + Returns the UTC date and time when the was received + + + This property has to be set to UTC datetime + + + + + Returns or sets the Internet Message Id + + + Corresponds to the message ID field as specified in [RFC2822].

+ If set then this value will be used, when not set the value will be read from the + when this property is set +
+
+ + + Returns or set the the value of a Multipurpose Internet Mail Extensions (MIME) message's References header field + + + If set then this value will be used, when not set the value will be read from the + when this property is set + + + + + Returns or sets the original message's PR_INTERNET_MESSAGE_ID (PidTagInternetMessageId) property value + + + If set then this value will be used, when not set the value will be read from the + when this property is set + + + + + Sets or returns the property as a string (text). + This property expects the headers as a string + + + + + Returns or sets the transport message headers. These are only present when + the message has been sent outside an Exchange environment to another mailserver + null will be returned when not present + + + Use the property if you want to set + the headers directly from a string otherwise see the example code below. + + + + var email = new Email(); + email.TransportMessageHeaders = new MessageHeader(); + // ... do something with it, for example + email.TransportMessageHeaders.SetHeaderValue("X-MY-CUSTOM-HEADER", "EXAMPLE VALUE"); + + + + + + Returns true when the message is set as a draft message + + + + + Returns true when a read receipt is requested + + + + + Specifies the format for an editor to use to display a message. + + + + + Creates this object and sets all the needed properties + + The of the E-mail + The subject of the E-mail + Set to true to save the E-mail as a draft message + Set to true to request a read receipt for the E-mail + + + + Creates this object and sets all the needed properties + + The of the E-mail + The sender of the E-mail + The subject of the E-mail + Set to true to save the E-mail as a draft message + Set to true to request a read receipt for the E-mail + + + + These properties are computed by message store or transport providers from the PR_SUBJECT (PidTagSubject) + and PR_SUBJECT_PREFIX (PidTagSubjectPrefix) properties in the following manner. If the PR_SUBJECT_PREFIX + is present and is an initial substring of PR_SUBJECT, PR_NORMALIZED_SUBJECT and associated properties are + set to the contents of PR_SUBJECT with the prefix removed. If PR_SUBJECT_PREFIX is present, but it is not + an initial substring of PR_SUBJECT, PR_SUBJECT_PREFIX is deleted and recalculated from PR_SUBJECT using + the following rule: If the string contained in PR_SUBJECT begins with one to three non-numeric characters + followed by a colon and a space, then the string together with the colon and the blank becomes the prefix. + Numbers, blanks, and punctuation characters are not valid prefix characters. If PR_SUBJECT_PREFIX is not + present, it is calculated from PR_SUBJECT using the rule outlined in the previous step.This property then + is set to the contents of PR_SUBJECT with the prefix removed. + + + When PR_SUBJECT_PREFIX is an empty string, PR_SUBJECT and PR_NORMALIZED_SUBJECT are the same. Ultimately, + this property should be the part of PR_SUBJECT following the prefix. If there is no prefix, this property + becomes the same as PR_SUBJECT. + + + + + Writes all the properties that are part of the object either as 's + or 's to the + + + + + Saves the message to the given + + + + + + Saves the message to the given + + + + + + Disposes all the attachment streams + + + + + An integer representing the type of the object. It MUST be one of the values from the following table. + + + + + A local mail user + + + + + A distribution list + + + + + A bulletinboard or public folder + + + + + An automated mailbox + + + + + An organiztional mailbox + + + + + A private distribtion list + + + + + A remote mail user + + + + + A container + + + + + A template + + + + + One off user + + + + + Search + + + + + Contains the messaging user's e-mail address type, such as SMTP. + + + + + Unknown + + + + + Exchange + + + + + Simple Mail Transfer Protocol + + + + + Fax + + + + + MHS + + + + + PROFS + + + + + X400 + + + + + Valid values for the property + + + See https://msdn.microsoft.com/en-us/library/cc815362(v=office.15).aspx + + + + + This flag indicates that the object is a meeting object or a meeting-related object. + + + + + This flag indicates that the represented object was received from someone else. + + + + + This flag indicates that the meeting object represented by the object has been canceled. + + + + + Full update. + + + + + A newer meeting request or meeting update was received after this one. + + + + + This is set on the delegator’s copy when a delegate handles meeting-related objects. + + + + + Contains a bitmask of flags for an attachment. + + + See https://docs.microsoft.com/en-us/previous-versions/office/developer/office-2007/cc765876(v=office.12) + + + + + Indicates that this attachment is not available to HTML rendering applications and should be ignored in + Multipurpose Internet Mail Extensions (MIME) processing. + + + + + Indicates that this attachment is not available to applications rendering in Rich Text Format (RTF) and should be + ignored by MAPI. + + + + + The Attachment object is referenced and rendered within the HTML body of the associated Message object. + + + + + The type of the attachment + + + See https://msdn.microsoft.com/en-us/library/office/cc815439.aspx + + + + + There is no attachment + + + + + The property contains the attachment data + + + + + The or + property contains a fully qualified path identifying the attachment to recipients with access to a common file server + + + + + The or + property contains a fully qualified path identifying the attachment + + + + + The or + property contains a fully qualified path identifying the attachment + + + + + The (PidTagAttachDataObject) property contains an embedded object + that supports the IMessage interface + + + + + The attachment is an embedded OLE object + + + + + Contains a bitmask of flags indicating the operations that are available to the client for the object. + + + See https://msdn.microsoft.com/en-us/library/office/cc979218.aspx + This property is read-only for the client. It must be a bitwise OR of zero or more values from the following table. + + + + + Write + + + + + Read + + + + + Delete + + + + + Create subfolders in the folder hierarchy + + + + + Create content messages + + + + + Create associated content messages + + + + + Contains the type of an object. + + + See https://msdn.microsoft.com/en-us/library/office/cc815487.aspx + The object type contained in this property corresponds to the primary interface available for an object accessible + through the OpenEntry interface. It is usually obtained by consulting the lpulObjType parameter returned by the + appropriate OpenEntry method. When the interface is obtained in other ways, call IMAPIProp::GetProps to obtain the + value for this property. + + + + + Address book container object + + + + + Address book object + + + + + Message attachment object + + + + + Distribution list object + + + + + Folder object + + + + + Form object + + + + + Messaging user object + + + + + Message object + + + + + Profile section object + + + + + Session object + + + + + Status object + + + + + Message store object + + + + + Valid values for the property + + + See https://msdn.microsoft.com/en-us/library/cc815362(v=office.15).aspx + + + + + Unspecified. + + + + + nitial meeting request. + + + + + Full update. + + + + + Full update. + + + + + A newer meeting request or meeting update was received after this one. + + + + + This is set on the delegator’s copy when a delegate handles meeting-related objects. + + + + + The MessageClass element is an optional element that specifies the message class of this e-mail message. + + + See https://msdn.microsoft.com/en-us/library/ee200767(v=exchg.80).aspx + + + + + The message type is unknown + + + + + Normal e-mail message. + + + + + The message is encrypted and can also be signed. + + + + + The message is clear signed. + + + + + The message is a secure read receipt. + + + + + Post. + + + + + Octel voice message. + + + + + Electronic voice notes. + + + + + Shared message. + + + + + Non-delivery report for a standard message. + + + + + Delivery receipt for a standard message. + + + + + Delivery receipt for a delayed message. + + + + + Read receipt for a standard message. + + + + + Non-read receipt for a standard message. + + + + + Non-delivery report for a meeting request. + + + + + Non-delivery report for a positive meeting response (accept). + + + + + Non-delivery report for a Tentative meeting response. + + + + + Non-delivery report for a cancelled meeting notification. + + + + + Non-delivery report for a Secure MIME (S/MIME) encrypted and opaque-signed message. + + + + + Delivery receipt for an S/MIME encrypted and opaque-signed message. + + + + + Non-delivery report for an S/MIME clear-signed message. + + + + + Delivery receipt for an S/MIME clear-signed message. + + + + + An appointment + + + + + Task + + + + + Specifies the format for an editor to use to display a message. + + + See https://msdn.microsoft.com/en-us/library/office/cc765727.aspx + + + + + The format for the editor to use is unknown. + + + + + The editor should display the message in plain text format. + + + + + The editor should display the message in HTML format. + + + + + The editor should display the message in Rich Text Format. + + + + + Contains a bitmask of flags that indicate the origin and current state of a message. + + + See https://msdn.microsoft.com/en-us/library/cc839733(v=office.15).aspx + This property is a nontransmittable message property exposed at both the sending and receiving ends of a + transmission, with different values depending upon the client application or store provider involved. This property + is initialized by the client or message store provider when a message is created and saved for the first time and + then updated periodically by the message store provider, a transport provider, and the MAPI spooler as the message + is processed and its state changes. + This property exists on a message both before and after submission, and on all copies of the received + message. Although it is not a recipient property, it is exposed differently to each recipient according to whether + it has been read or modified by that recipient. + + + + + The message is marked as having been read. This can occur as the result of a call at any time to + IMessage::SetReadFlag or IMAPIFolder::SetReadFlags. Clients can also set this flag by calling a message's + IMAPIProp::SetProps method before the message has been saved for the first time. This flag is ignored if the + ASSOCIATED flag is set. + + + + + The outgoing message has not been modified since the first time that it was saved; the incoming message has not + been modified since it was delivered. + + + + + The message is marked for sending as a result of a call to IMessage::SubmitMessage. Message store providers set + this flag; the client has read-only access. + + + + + The message is still being composed. It is saved, but has not been sent. The client or provider has read/write + access to this flag until the first IMAPIProp::SaveChanges call and read-only thereafter. If a client doesn't set + this flag by the time the message is sent, the message store provider sets it when IMessage::SubmitMessage is + called. Typically, this flag is cleared after the message is sent. + + + + + The message has at least one attachment. This flag corresponds to the message's PR_HASATTACH (PidTagHasAttachments) + property. The client has read-only access to this flag. + + + + + The messaging user sending was the messaging user receiving the message. The client or provider has read/write + access to this flag until the first IMAPIProp::SaveChanges call and read-only thereafter. This flag is meant to be + set by the transport provider. + + + + + The message is an associated message of a folder. The client or provider has read-only access to this flag. The + READ flag is ignored for associated messages, which do not retain a read/unread state. + + + + + The message includes a request for a resend operation with a nondelivery report. The client or provider has + read/write access to this flag until the first IMAPIProp::SaveChanges call and read-only thereafter. + + + + + A read report needs to be sent for the message. The client or provider has read-only access to this flag. + + + + + A nonread report needs to be sent for the message. The client or provider has read-only access to this flag. + + + + + The message has been read at least once. This flag is set or cleared by the server whenever the MSGFLAG_READ flag + is set or cleared. + + + + + The incoming message arrived over an X.400 link. It originated either outside the organization or from a source the + gateway cannot consider trusted. The client should display an appropriate message to the user. Transport providers + set this flag; the client has read-only access. + + + + + The incoming message arrived over the Internet. It originated either outside the organization or from a source the + gateway cannot consider trusted. The client should display an appropriate message to the user. Transport providers + set this flag; the client has read-only access. + + + + + 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 cannot consider trusted. The client should display an appropriate + message to the user. Transport providers set this flag; the client has read-only access. + + + + + The messageformat to use + + + + + Send a plain text message body. + + + + + Send an HTML message body. + + + + + Send a multipart / alternative body with both plain text and HTML. + + + + + Contains a number that indicates which icon to use when you display a group of e-mail objects. + + + See https://msdn.microsoft.com/en-us/library/cc815472(v=office.15).aspx + This property, if it exists, is a hint to the client. The client may ignore the value of this property. + + + + + New mail + + + + + Post + + + + + Other + + + + + Read mail + + + + + Unread mail + + + + + Submitted mail + + + + + Unsent mail + + + + + Receipt mail + + + + + Replied mail + + + + + Forwarded mail + + + + + Remote mail + + + + + Delivery receipt + + + + + Read receipt + + + + + Non delivery report + + + + + Non read receipt + + + + + Recall S mail + + + + + Recall F mail + + + + + Tracking mail + + + + + Out of office mail + + + + + Recall mail + + + + + Tracked mail + + + + + Contact + + + + + Distribution list + + + + + Sticky note blue + + + + + Sticky note green + + + + + Sticky note pink + + + + + Sticky note yellow + + + + + Sticky note white + + + + + Single instance appointment + + + + + Recurring appointment + + + + + Single instance meeting + + + + + Recurring meeting + + + + + Meeting request + + + + + Accept + + + + + Decline + + + + + Tentativly + + + + + Cancellation + + + + + Informational update + + + + + Task/task + + + + + Unassigned recurring task + + + + + Assignee's task + + + + + Assigner's task + + + + + Task request + + + + + Task acceptance + + + + + Task rejection + + + + + Journal conversation + + + + + Journal e-mail message + + + + + Journal meeting request + + + + + Journal meeting response + + + + + Journal task request + + + + + Journal task response + + + + + Journal note + + + + + Journal fax + + + + + Journal phone call + + + + + Journal letter + + + + + Journal Microsoft Office Word + + + + + Journal Microsoft Office Excel + + + + + Journal Microsoft Office PowerPoint + + + + + Journal Microsoft Office Access + + + + + Journal document + + + + + Journal meeting + + + + + Journal meeting cancellation + + + + + Journal remote session + + + + + Contains the relative priority of a message. + + + See https://msdn.microsoft.com/en-us/library/cc815346(v=office.15).aspx + + + + + The message has low importance. + + + + + The message has normal importance. + + + + + The message has high importance. + + + + + Contains a value that indicates the message sender's opinion of the importance of a message. + + + See https://msdn.microsoft.com/en-us/library/cc765646(v=office.15).aspx + + + + + The message is not urgent. + + + + + The message has normal priority. + + + + + The message is urgent. + + + + + Flags used to set on a + + + See https://msdn.microsoft.com/en-us/library/ee158556(v=exchg.80).aspx + + + + + If this flag is set for a property, that property MUST NOT be deleted from the .msg file + (irrespective of which storage it is contained in) and implementations MUST return an error + if any attempt is made to do so. This flag is set in circumstances where the implementation + depends on that property always being present in the .msg file once it is written there. + + + + + If this flag is not set on a property, that property MUST NOT be read from the .msg file + and implementations MUST return an error if any attempt is made to read it. This flag is + set on all properties unless there is an implementation-specific reason to prevent a property + from being read from the .msg file. + + + + + If this flag is not set on a property, that property MUST NOT be modified or deleted and + implementations MUST return an error if any attempt is made to do so. This flag is set in + circumstances where the implementation depends on the properties being writable. + + + + + Kind (1 byte): The possible values for the Kind field are in the following table. + + + + + The property is identified by the LID field (numerical named property) + + + + + The property is identified by the Name field (string named property) + + + + + The property does not have an associated PropertyName field. + + + + + The type of a property in the properties stream + + + + + Any: this property type value matches any type; a server MUST return the actual type in its response. Servers + MUST NOT return this type in response to a client request other than NspiGetIDsFromNames or the + RopGetPropertyIdsFromNamesROP request ([MS-OXCROPS] section 2.2.8.1). (PT_UNSPECIFIED) + + + + + None: This property is a placeholder. (PT_NULL) + + + + + 2 bytes; a 16-bit integer (PT_I2, i2, ui2) + + + + + 4 bytes; a 32-bit integer (PT_LONG, PT_I4, int, ui4) + + + + + 4 bytes; a 32-bit floating point number (PT_FLOAT, PT_R4, float, r4) + + + + + 8 bytes; a 64-bit floating point number (PT_DOUBLE, PT_R8, r8) + + + + + 8 bytes; a 64-bit floating point number in which the whole number part represents the number of days since + December 30, 1899, and the fractional part represents the fraction of a day since midnight (PT_APPTIME) + + + + + 4 bytes; a 32-bit integer encoding error information as specified in section 2.4.1. (PT_ERROR) + + + + + 1 byte; restricted to 1 or 0 (PT_BOOLEAN. bool) + + + + + The property value is a Component Object Model (COM) object, as specified in section 2.11.1.5. (PT_OBJECT) + + + + + 8 bytes; a 64-bit integer (PT_LONGLONG, PT_I8, i8, ui8) + + + + + 8 bytes; a 64-bit integer (PT_LONGLONG, PT_I8, i8, ui8) + + + + + Variable size; a string of Unicode characters in UTF-16LE format encoding with terminating null character + (0x0000). (PT_UNICODE, string) + + + + + Variable size; a string of multibyte characters in externally specified encoding with terminating null + character (single 0 byte). (PT_STRING8) ... ANSI format + + + + + 8 bytes; a 64-bit integer representing the number of 100-nanosecond intervals since January 1, 1601 + (PT_SYSTIME, time, datetime, datetime.tz, datetime.rfc1123, Date, time, time.tz) + + + + + 16 bytes; a GUID with Data1, Data2, and Data3 fields in little-endian format (PT_CLSID, UUID) + + + + + Variable size; a 16-bit COUNT field followed by a structure as specified in section 2.11.1.4. (PT_SVREID) + + + + + Variable size; a byte array representing one or more Restriction structures as specified in section 2.12. + (PT_SRESTRICT) + + + + + Variable size; a 16-bit COUNT field followed by that many rule (4) action (3) structures, as specified in + [MS-OXORULE] section 2.2.5. (PT_ACTIONS) + + + + + Variable size; a COUNT field followed by that many bytes. (PT_BINARY) + + + + + Variable size; a COUNT field followed by that many PT_MV_SHORT values. (PT_MV_SHORT, PT_MV_I2, mv.i2) + + + + + Variable size; a COUNT field followed by that many PT_MV_LONG values. (PT_MV_LONG, PT_MV_I4, mv.i4) + + + + + Variable size; a COUNT field followed by that many PT_MV_FLOAT values. (PT_MV_FLOAT, PT_MV_R4, mv.float) + + + + + Variable size; a COUNT field followed by that many PT_MV_DOUBLE values. (PT_MV_DOUBLE, PT_MV_R8) + + + + + Variable size; a COUNT field followed by that many PT_MV_CURRENCY values. (PT_MV_CURRENCY, mv.fixed.14.4) + + + + + Variable size; a COUNT field followed by that many PT_MV_APPTIME values. (PT_MV_APPTIME) + + + + + Variable size; a COUNT field followed by that many PT_MV_LONGLONGvalues. (PT_MV_I8, PT_MV_I8) + + + + + Variable size; a COUNT field followed by that many PT_MV_UNICODE values. (PT_MV_UNICODE) + + + + + Variable size; a COUNT field followed by that many PT_MV_UNICODE values. (PT_MV_UNICODE) + + + + + Variable size; a COUNT field followed by that many PT_MV_STRING8 values. (PT_MV_STRING8, mv.string) + + + + + Variable size; a COUNT field followed by that many PT_MV_SYSTIME values. (PT_MV_SYSTIME) + + + + + Variable size; a COUNT field followed by that many PT_MV_CLSID values. (PT_MV_CLSID, mv.uuid) + + + + + Variable size; a COUNT field followed by that many PT_MV_BINARY values. (PT_MV_BINARY, mv.bin.hex) + + + + + Specifies a bit field that describes the recipient status. + + + See https://msdn.microsoft.com/en-us/library/office/cc815629.aspx + + + + + The recipient is a Sendable Attendee. This flag is only used in the dispidApptUnsendableRecips + (PidLidAppointmentUnsendableRecipients) property. + + + + + The RecipientRow on which this flag is set represents the meeting Organizer. + + + + + Indicates that the attendee gave a response for the exception on which this RecipientRow resides. This flag is only + used in a RecipientRow of an exception embedded message object of the organizer’s meeting object. + + + + + Indicates that although the RecipientRow exists, it should be treated as if the corresponding recipient does not. + This flag is only used in a RecipientRow of an exception embedded message object of the organizer’s meeting object. + + + + + Indicates the recipient is an original attendee. This flag is only used in the dispidApptUnsendableRecips property. + + + + + The + + + + + No type is set + + + + + X500DN + + + + + Ms mail + + + + + SMTP + + + + + Fax + + + + + Professional office system + + + + + Personal distribution list 1 + + + + + Personal distribution list 2 + + + + + An enumeration. This field MUST be present when the Type field + of the RecipientFlags field is set to X500DN(0x1) and MUST NOT be present otherwise.This + value specifies the display type of this address.Valid values for this field are specified in the + following table. + + + + + A messaging user + + + + + A distribution list + + + + + A forum, such as a bulletin board service or a public or shared folder + + + + + An automated agent + + + + + An Address Book object defined for a large group, such as helpdesk, accounting, coordinator, or + department + + + + + A private, personally administered distribution list + + + + + An Address Book object known to be from a foreign or remote messaging system + + + + + The recipient type + + + See https://msdn.microsoft.com/en-us/library/cc839620(v=office.15).aspx + + + + + The recipient is the message originator + + + + + The recipient is a primary (To) recipient. Clients are required to handle primary recipients. All other types are optional. + + + + + The recipient is a carbon copy (CC) recipient, a recipient that receives a message in addition to the primary recipients. + + + + + The recipient is a blind carbon copy (BCC) recipient. Primary and carbon copy recipients are unaware of the existence of BCC recipients. + + + + + The recipient is a resource (e.g. a room) + + + + + The recipient is a room (uses PR_RECIPIENT_TYPE_EXE) needs Exchange 2007 or higher + + + + + An integer that specifies the type of calendar that is used. The acceptable values for the calendar type are listed + in the following table. + + + See https://msdn.microsoft.com/en-us/library/ee203303(v=exchg.80).aspx + + + + + The default value for the calendar type is Gregorian. + If the value of the PatternType field is HjMonth, HjMonthNth, or HjMonthEnd and the value of the CalendarType field + is Default, this recurrence uses the Hijri calendar. + + + + + Gregorian (localized) calendar + + + + + Gregorian (U.S.) calendar + + + + + Japanese Emperor era calendar + + + + + Taiwan calendar + + + + + Korean Tangun era calendar + + + + + Hijri (Arabic Lunar) calendar + + + + + Thai calendar + + + + + Hebrew lunar calendar + + + + + Gregorian Middle East French calendar + + + + + Gregorian Arabic calendar + + + + + Gregorian transliterated English calendar + + + + + Gregorian transliterated French calendar + + + + + Japanese lunar calendar + + + + + Chinese lunar calendar + + + + + Saka era calendar + + + + + Lunar ETO Chinese calendar + + + + + Lunar ETO Korean calendar + + + + + Lunar Rokuyou calendar + + + + + Korean lunar calendar + + + + + Um Al Qura calendar + + + + + An integer that specifies the day on which the calendar week begins. The default value is Sunday (0x00000000). + This field MUST be set to one of the values listed in the following table. + + + See https://msdn.microsoft.com/en-us/library/ee203303(v=exchg.80).aspx + + + + + Sunday + + + + + Monday + + + + + Tuesday + + + + + Wednesday + + + + + Thursday + + + + + Friday + + + + + Saterday + + + + + The value and meaning of the FirstDateTime field for each type of recurrence frequency are specified in the + following table. For details about how the value is calculated, see section 2.2.1.44.1.1. + + + See https://msdn.microsoft.com/en-us/library/ee203303(v=exchg.80).aspx + + + + + Daily + + + + + Weelky + + + + + Monthly + + + + + PatternType (2 bytes): An integer that specifies the type of recurrence pattern. The valid recurrence pattern types + are listed in the following table. + + + See https://msdn.microsoft.com/en-us/library/ee203303(v=exchg.80).aspx + + + + + The event has a daily recurrence. + + + + + The event has a weekly recurrence. + + + + + The event has a monthly recurrence. + + + + + The event has a month-end recurrence. + + + + + The event has an every nth month pattern. + + + + + The event has a monthly recurrence in the Hijri calendar. For this value in the PatternType field, the value of the + CalendarType field MUST be set to 0x0000. + + + + + The event has an every nth month pattern in the Hijri calendar. For this value in the PatternType field, the value + of the CalendarType field MUST be set to 0x0000. + + + + + The event has a month end recurrence in the Hijri calendar. For this value in the PatternType field, the value of + the CalendarType field MUST be set to 0x0000. + + + + + EndType (4 bytes): An integer that specifies the ending type for the recurrence. This field MUST be set to one of + the values listed in the following table. + + + See https://msdn.microsoft.com/en-us/library/ee203303(v=exchg.80).aspx + + + + + End after date + + + + + End after N occurrences + + + + + Never end + + + + + This property discloses the capabilities of a message store to client applications planning to send it a message. + The flags can facilitate decisions by a client or another store, such as whether to send PR_BODY (PidTagBody) or + only (PidTagRtfCompressed). A client should never set + an attempt returns MAPI_E_COMPUTED. + + + + + The message store supports properties containing ANSI (8-bit) characters. + + + + + The message store supports attachments (OLE or non-OLE) to messages. + + + + + The message store supports categorized views of tables. + + + + + The message store supports creation of new messages. + + + + + Entry identifiers for the objects in the message store are unique, that is, never reused during the life of the + store. + + + + + The message store supports HTML messages, stored in the (PidTagBodyHtml) + property. Note that STORE_HTML_OK is not defined in versions of MAPIDEFS.H that are included with Microsoft Exchange + 2000 Server and earlier. If your development environment uses a MAPIDEFS.H file that does not include STORE_HTML_OK, + use the value 0x00010000 instead. + + + + + In a wrapped PST store, indicates that when a new message arrives at the store, the store does rules and spam + filter processing on the message separately. The store calls IMAPISupport::Notify, setting fnevNewMail in the + NOTIFICATION structure that is passed as a parameter, and then passes the details of the new message to the + listening client. Subsequently, when the listening client receives the notification, it does not process rules on + the message. + + + + + This flag is reserved and should not be used. + + + + + The message store supports modification of its existing messages. + + + + + The message store supports multivalued properties, guarantees the stability of value order in a multivalued + property throughout a save operation, and supports instantiation of multivalued properties in tables. + + + + + The message store supports notifications. + + + + + The message store supports OLE attachments. The OLE data is accessible through an IStorage interface, such as that + available through the PR_ATTACH_DATA_OBJ (PidTagAttachDataObject) property + + + + + The folders in this store are public (multi-user), not private (possibly multi-instance but not multi-user). + + + + + The MAPI Protocol Handler will not crawl the store, and the store is responsible to push any changes through + notifications to the indexer to have messages indexed. + + + + + All interfaces for the message store have a read-only access level. + + + + + The message store supports restrictions. + + + + + The message store supports Rich Text Format (RTF) messages, usually compressed, and the store itself keeps + and synchronized. + + + + + The message store supports search-results folders. + + + + + The message store supports sorting views of tables. + + + + + The message store supports marking a message for submission. + + + + + The message store supports storage of RTF messages in uncompressed form. An uncompressed RTF stream is identified + by the value dwMagicUncompressedRTF in the stream header. The dwMagicUncompressedRTF value is defined in the + RTFLIB.H file + + + + + The message store supports properties containing Unicode characters. + + + + + Valid values for the property + + + See https://msdn.microsoft.com/en-us/library/cc839689.aspx + + + + + The task is not assigned. + + + + + The task’s acceptance status is unknown. + + + + + The task assignee accepted the task. This value is set when the client processes a task acceptance. + + + + + The task assignee rejected the task. This value is set when the client processes a task rejection. + + + + + Valid values for the property + + + See https://msdn.microsoft.com/en-us/library/ee160354(v=EXCHG.80).aspx + + + + + No changes were made. + + + + + The task assignee accepted this Task object. + + + + + The task assignee rejected this Task object. + + + + + Another property was changed. + + + + + The PidLidTaskDueDate property(section 2.2.2.2.5) changed. + + + + + The Task object has been assigned to a task assignee. + + + + + Valid values for the property + + + See https://msdn.microsoft.com/en-us/library/ee178286(v=exchg.80).aspx + + + + + The Task object is not assigned. + + + + + The Task object is embedded in a task request. + + + + + The Task object has been accepted by the task assignee. + + + + + The Task object was rejected by the task assignee. + + + + + The Task object is embedded in a task update. + + + + + The Task object was assigned to the task assigner (self-delegation). + + + + + Valid values for the property + + + See https://msdn.microsoft.com/en-us/library/ee218493(v=exchg.80).aspx + + + + + The Task object has multiple primary recipients. + + + + + Although the "Sent" flag was not set, the client detected that the Task object has multiple primary recipients. + + + + + Valid values for the property + + + See https://msdn.microsoft.com/en-us/library/ee204243(v=EXCHG.80).aspx + + + + + The Task object is not assigned. + + + + + The Task object is the task assigner's copy of the Task object. + + + + + The Task object is the task assignee's copy of the Task object. + + + + + Valid values for the property + + + See https://msdn.microsoft.com/en-us/library/cc765590(v=office.12).aspx + + + + + This task was created to correspond to a task that was embedded in a task rejection but could not be found locally. + + + + + The task is not assigned. + + + + + The task is the task assignee’s copy of an assigned task. + + + + + The task is the task assigner’s copy of an assigned task. + + + + + The task is the task assigner’s copy of a rejected task. + + + + + Valid values for the property + + + See https://msdn.microsoft.com/en-us/library/ee159828(v=exchg.80).aspx + + + + + The user has not started work on the Task object. If the property is set to this value, the value of the + PidLidPercentComplete property (section 2.2.2.2.3) MUST be 0.0. + + + + + The user's work on this Task object is in progress. If the property is set to this value, the value of the + PidLidPercentComplete property MUST be greater than 0.0 and less than 1.0. + + + + + The user's work on this Task object is complete. If the property is set to this value, the value of the + PidLidPercentComplete property MUST be 1.0, the value of the PidLidTaskDateCompleted property (section 2.2.2.2.9) + MUST be the current date, and the value of the PidLidTaskComplete property (section 2.2.2.2.20) MUST be 0x01. + + + + + The user is waiting on somebody else. + + + + + The user has deferred work on the Task object. + + + + + Raised when an attachment exception occurs + + + + + Raised when an attachment with the same name already exists + + + + + Raised when a property is invalid + + + + + Raised when somebody tries to modify a mesage when it already has been saved + + + + + Raised when a property is not found + + + + + This class contains conversion related helper methods + + + + + Converts an object to an byte array + + The object to convert + + + + + Converts a byte array to an Object + + The byte array + + + + + This class is used to calculate CRC32. Of a byte buffer. + + + + + This class contains E-mail related helper methods + + + + + Return true when the E-mail address is valid + + + + + + + Removes trailing en ending single quotes from an E-mail address when they exist + + + + + + + This class contains exception related helper methods + + + + + Get the complete inner exception tree + + The exception object + + + + + This class contains file management functions that are not available in the .NET framework + + + + + The max path length in Windows + + + + + Check if there is a backslash at the end of the string and if not add it + + + + + + + Validates the length of , when this is longer then chars it will be truncated. + + The filename with path + Optional extra truncate size, when not used the filename is truncated until it fits + + Raised when no path or file name is given in the + Raised when it is not possible to truncate the + + + + Returns the extension of the specified string + + The path of the file + + Raised when no path is given + + + + Returns the file name of the specified string without the extension + + The path of the file + + + + + + Returns the directory information for the specified string + + The path of a file or directory + + + + + Checks if a file already exists and if so adds a number until the file is unique + + The file to check + When true validation will be performed on the max path lengt + + + Raised when no path or file name is given in the + Raised when it is not possible to truncate the + + + + Removes illegal filename characters + + + + + + + Gives the size of a file in Windows format (GB, MB, KB, Bytes) + + Filesize in bytes + + + + + This class contains MAPI related helper methods + + + + + A search key is used to compare the data in two objects. An object's search key is stored in its + (PidTagSearchKey) property. Because a search key + represents an object's data and not the object itself, two different objects with the same data can have the same + search key. When an object is copied, for example, both the original object and its copy have the same data and the + same search key. Messages and messaging users have search keys. The search key of a message is a unique identifier + of the message's data. Message store providers furnish a message's + property at message creation time.The search key of an address book entry is computed from its address type( + (PidTagAddressType)) and address + ( (PidTagEmailAddress)). If the address book entry is writable, + its search key might not be available until the address type and address have been set by using the + IMAPIProp::SetProps method and the entry has been saved by using the IMAPIProp::SaveChanges method.When these + address properties change, it is possible for the corresponding search key not to be synchronized with the new + values until the changes have been committed with a SaveChanges call. The value of an object's record key can be + the same as or different than the value of its search key, depending on the service provider. Some service providers + use the same value for an object's search key, record key, and entry identifier.Other service providers assign unique + values for each of its objects identifiers. + + + + + + A record key is used to compare two objects. Message store and address book objects must have record keys, which + are stored in their (PidTagRecordKey) property. Because a record key + identifies an object and not its data, every instance of an object has a unique record key. The scope of a record + key for folders and messages is the message store. The scope for address book containers, messaging users, and + distribution lists is the set of top-level containers provided by MAPI for use in the integrated address book. + Record keys can be duplicated in another resource. For example, different messages in two different message stores + can have the same record key. This is different from long-term entry identifiers; because long-term entry + identifiers contain a reference to the service provider, they have a wider scope.A message store's record key is + similar in scope to a long-term entry identifier; it should be unique across all message store providers. To ensure + this uniqueness, message store providers typically set their record key to a value that is the combination of their + (PidTagStoreProvider) property and an identifier that is unique to the + message store. + + + + + + This property is a binary value that uniquely identifies a row in a table view. It is a required column in most + tables. If a row is included in two views, there are two different instance keys. The instance key of a row may + differ each time the table is opened, but remains constant while the table is open. Rows added while a table is in + use do not reuse an instance key that was previously used. + message store. + + + + + + The PR_ENTRYID property contains a MAPI entry identifier used to open and edit properties of a particular MAPI + object. + + + The PR_ENTRYID property identifies an object for OpenEntry to instantiate and provides access to all of its + properties through the appropriate derived interface of IMAPIProp. PR_ENTRYID is one of the base address properties + for all messaging users. The PR_ENTRYID for CEMAPI always contains long-term identifiers.
+ - Required on folder objects
+ - Required on message store objects
+ - Required on status objects
+ - Changed in a copy operation
+ - Unique within entire world +
+ +
+ + + A mapping of file name extensions to the corresponding MIME-type. + + + A mapping of file name extensions to the corresponding MIME-type. + + + + + A dictionary of mimetypes + + + + + Gets the MIME-type of the file. + + + Gets the MIME-type of the file based on the file extension. + + The MIME-type. + The file name. + + System.ArgumentNullException + is null. + + + + + Used to compress RTF using LZFu by Microsoft. Can be viewed in the [MS-OXRTFCP].pdf document. + https://msdn.microsoft.com/en-us/library/cc463890(v=exchg.80).aspx + + + + + Holder for compression positions, aren't relevent to other parts of the project thus inside of RTFCompressor class. + + + + + Helper function + + Part of the MS-OXRTFCP spec. + BinaryReader which is pointing at the input data. + Write offset + CompressionPositions class containing DictionaryOffset, LongestMatchLength, WriteOffset + + + + Takes in data, compresses it using LZFu. Returns the data as a byte array. + + Byte array containing data to be compressed. + Byte array containing the data that is compressed. + + + + Copies the given to the given + + + + + + + This class contains stream related helper methods + + + + + Returns the stream as an byte array + + + + + + + Returns true when the end of the has been reached + + + + + + + Read a line from the stream. + A line is interpreted as all the bytes read until a CRLF or LF is encountered.
+ CRLF pair or LF is not included in the string. +
+ The stream from which the line is to be read + A line read from the stream returned as a byte array or if no bytes were readable from the stream + If is +
+ + + Read a line from the stream. for more documentation. + + The stream to read from + A line read from the stream or if nothing could be read from the stream + If is + + + + This class contains string related helper methods + + + + + Reads from the until a null terminated char is read + + + + + + + + Reads from the until a null terminated char is read + + The + + + + + Reads from the until a null terminated char is read + + The + + + + + Writes the given to the + + + The string to write + + + + + Writes the given to the + + + The string to write + + + + Writes the given to the + + + The string to write + + + + Returns the as an escaped RTF string + + + + + + The base class for all the different types of Outlook MSG files + + + + + A flag to keep track if the message already has been saved + + + + + The + + + + + The + + + + + Returns as a string that is written into the MSG file + + + + + Contains a number that indicates which icon to use when you display a group + of e-mail objects. Default set to + + + This property, if it exists, is a hint to the client. The client may ignore the + value of this property. + + + + + The size of the message + + + + + The + + + + + The + + + + + Creates this object and sets all it's properties + + + + + Saves the message to the given + + + + + + Saves the message to the given + + + + + + Add's a custom property to the message or replaces it when it already exists + + + The value of the property + + Raised when the mesage has already been saved with the Save method + + + + Disposes this object and all its resources + + + + + Utility class for dealing with Base64 encoded strings + + + + + Decodes a base64 encoded string into the bytes it describes + + The string to decode + A byte array that the base64 string described + + + + Decodes a Base64 encoded string using a specified + + Source string to decode + The encoding to use for the decoded byte array that describes + A decoded string + + If or is + + + If is not a valid base64 encoded string + + + + Utility class for dealing with encoded word strings
+
+ EncodedWord encoded strings are only in ASCII, but can embed information + about characters in other character sets.
+
+ It is done by specifying the character set, an encoding that maps from ASCII to + the correct bytes and the actual encoded string.
+
+ It is specified in a format that is best summarized by a BNF:
+ "=?" character_set "?" encoding "?" encoded-text "?="
+
+ + =?ISO-8859-1?Q?=2D?= + Here ISO-8859-1 is the character set.
+ Q is the encoding method (quoted-printable). B is also supported (Base 64).
+ The encoded text is the =2D part which is decoded to a space. +
+
+ + + Decode text that is encoded with the encoding.
+
+ This method will decode any encoded-word found in the string.
+ All parts which is not encoded will not be touched.
+
+ From RFC 2047:
+ + Generally, an "encoded-word" is a sequence of printable ASCII + characters that begins with "=?", ends with "?=", and has two "?"s in + between. It specifies a character set and an encoding method, and + also includes the original text encoded as graphic ASCII characters, + according to the rules for that encoding method. + + Example:
+ =?ISO-8859-1?q?this=20is=20some=20text?= other text here +
+ + See RFC 2047 section 2 "Syntax of encoded-words" + for more details + + Source text. May be content which is not encoded. + Decoded text + If is +
+ + + Utility class used by OpenPop for mapping from a characterSet to an .
+
+ The functionality of the class can be altered by adding mappings + using and by adding a .
+
+ Given a characterSet, it will try to find the Encoding as follows: + + + + If a mapping for the characterSet was added, use the specified Encoding from there. Mappings + can be added using . + + + + + Try to parse the characterSet and look it up using + for codepages or for named encodings. + + + + + If an encoding is not found yet, use the if defined. The + is user defined. + + + +
+
+ + + Initialize the EncodingFinder + + + + + Used to reset this static class to facilite isolated unit testing. + + + + + Parses a character set into an encoding. + + The character set to parse + An encoding which corresponds to the character set + If is + + + + Puts a mapping from to + into the 's internal mapping Dictionary. + + The string that maps to the + The that should be mapped from + If is + If is + + + + Delegate that is used when the EncodingFinder is unable to find an encoding by + using the or general code.
+ This is used as a last resort and can be used for setting a default encoding or + for finding an encoding on runtime for some . +
+ The character set to find an encoding for. + An encoding for the or if none could be found. +
+ + + Last resort decoder. + + + + + Mapping from charactersets to encodings. + + + + + Used for decoding Quoted-Printable text.
+ This is a robust implementation of a Quoted-Printable decoder defined in + RFC 2045 and + RFC 2047.
+ Every measurement has been taken to conform to the RFC. +
+
+ + + Decodes a Quoted-Printable string according to RFC 2047.
+ RFC 2047 is used for decoding Encoded-Word encoded strings. +
+ Quoted-Printable encoded string + Specifies which encoding the returned string will be in + A decoded string in the correct encoding + + If or is + + +
+ + + Decodes a Quoted-Printable string according to RFC 2045.
+ RFC 2045 specifies the decoding of a body encoded with Content-Transfer-Encoding of quoted-printable. +
+ Quoted-Printable encoded string + A decoded byte array that the Quoted-Printable encoded string described + If is +
+ + + This is the actual decoder. + + The string to be decoded from Quoted-Printable + + If , specifies that RFC 2047 quoted printable decoding is used.
+ This is for quoted-printable encoded words
+
+ If , specifies that RFC 2045 quoted printable decoding is used.
+ This is for quoted-printable Content-Transfer-Encoding + + A decoded byte array that was described by + If is + See RFC 2047 section 4.2 for RFC details +
+ + + Writes all bytes in a byte array to a stream + + The stream to write to + The bytes to write to the + + + + RFC 2045 states about robustness:
+ + Control characters other than TAB, or CR and LF as parts of CRLF pairs, + must not appear. The same is true for octets with decimal values greater + than 126. If found in incoming quoted-printable data by a decoder, a + robust implementation might exclude them from the decoded data and warn + the user that illegal characters were discovered. + + Control characters are defined in RFC 2396 as
+ control = US-ASCII coded characters 00-1F and 7F hexadecimal +
+ String to be stripped from illegal control characters + A string with no illegal control characters + If is +
+ + + This method will remove any \r and \n which is not paired as \r\n + + String to remove lonely \r and \n's from + A string without lonely \r and \n's + If is + + + + RFC 2045 says that a robust implementation should handle:
+ + An "=" cannot be the ultimate or penultimate character in an encoded + object. This could be handled as in case (2) above. + + Case (2) is:
+ + An "=" followed by a character that is neither a + hexadecimal digit (including "abcdef") nor the CR character of a CRLF pair + is illegal. This case can be the result of US-ASCII text having been + included in a quoted-printable part of a message without itself having + been subjected to quoted-printable encoding. A reasonable approach by a + robust implementation might be to include the "=" character and the + following character in the decoded data without any transformation and, if + possible, indicate to the user that proper decoding was not possible at + this point in the data. + +
+ + The string to decode which cannot have length above or equal to 3 + and must start with an equal sign. + + A decoded byte array + If is + + Thrown if a the parameter has length above 2 or does not + start with an equal sign. + +
+ + + This helper method will decode a string of the form "=XX" where X is any character.
+ This method will never fail, unless an argument of length not equal to three is passed. +
+ The length 3 character that needs to be decoded + A decoded byte array + If is + + Thrown if a the parameter does not have length 3 or does + not start with an equal sign. + +
+ + + This class is responsible for decoding parameters that has been encoded with:
+ + + Continuation
+ This is where a single parameter has such a long value that it could + be wrapped while in transit. Instead multiple parameters is used on each line.
+
+ Example
+ From: Content-Type: text/html; boundary="someVeryLongStringHereWhichCouldBeWrappedInTransit"
+ To: + Content-Type: text/html; boundary*0="someVeryLongStringHere" boundary*1="WhichCouldBeWrappedInTransit" +
+
+ + Encoding
+ Sometimes other characters then ASCII characters are needed in parameters.
+ The parameter is then given a different name to specify that it is encoded.
+
+ Example
+ From: Content-Disposition attachment; filename="specialCharsÆØÅ"
+ To: Content-Disposition attachment; filename*="ISO-8859-1'en-us'specialCharsC6D8C0"
+ This encoding is almost the same as encoding, and is used to decode the value. +
+
+ + Continuation and Encoding
+ Both Continuation and Encoding can be used on the same time.
+
+ Example
+ From: Content-Disposition attachment; filename="specialCharsÆØÅWhichIsSoLong"
+ To: + + Content-Disposition attachment; filename*0*="ISO-8859-1'en-us'specialCharsC6D8C0"; + filename*1*="WhichIsSoLong" + +
+ This could also be encoded as:
+ To: + + Content-Disposition attachment; filename*0*="ISO-8859-1'en-us'specialCharsC6D8C0"; + filename*1="WhichIsSoLong" + +
+ Notice that filename*1 does not have an * after it - denoting it IS NOT encoded.
+ There are some rules about this:
+ + The encoding must be mentioned in the first part (filename*0*), which has to be encoded. + + No other part must specify an encoding, but if encoded it uses the encoding mentioned in the + first part. + + Parts may be encoded or not in any order. + +
+
+
+ More information and the specification is available in + RFC 2231. +
+
+ + + Decodes a string of the form:
+ value0; key1=value1; key2=value2; key3=value3
+ The returned List of key value pairs will have the key as key and the decoded value as value.
+ The first value0 will have a key of .
+
+ If continuation is used, then multiple keys will be merged into one key with the different values + decoded into on big value for that key.
+ Example:
+ + title*0=part1 + title*1=part2 + + will have key and value of:

+ title=decode(part1)decode(part2) +
+ The string to decode. + A list of decoded key value pairs. + If is +
+ + + Decodes the list of key value pairs into a decoded list of key value pairs.
+ There may be less keys in the decoded list, but then the values for the lost keys will have been appended + to the new key. +
+ The pairs to decode + A decoded list of pairs +
+ + + This will decode a single value of the form: ISO-8859-1'en-us'%3D%3DIamHere
+ Which is basically a form just using % instead of =
+ Notice that 'en-us' part is not used for anything.
+
+ If the single value given is not on the correct form, it will be returned without + being decoded and will be set to . +
+ + The encoding used to decode with - it is given back for later use.
+ if input was not in the correct form. + + The value to decode + + The decoded value that corresponds to or if + is not on the correct form, it will be non-decoded. + + If is +
+ + + This will decode a single value of the form: %3D%3DIamHere + Which is basically a form just using % instead of = + + The value to decode + The encoding used to decode with + The decoded value that corresponds to + If is + If is + + + + Class used to decode RFC 2822 Date header fields. + + + + + Custom DateTime formats - will be tried if cannot parse the dateInput string using the default method + Specified using formats at http://msdn.microsoft.com/en-us/library/8kb3ddd4%28v=vs.110%29.aspx + One format per string in the array + + + + + Converts a string in RFC 2822 format into a object + + The date to convert + + A valid object, which represents the same time as the string that was converted. + If is not a valid date representation, then is + returned. + + If is + + If the could not be parsed into a + object + + + + + Adjust the object given according to the timezone specified in the + . + + The date to alter + The input date, in which the timezone can be found + An date altered according to the timezone + + + + Convert timezones in older formats to [+-]dddd format. + + The match that was found + The string to replace the matched string with + + RFC 2822: http://www.rfc-base.org/rfc-2822.html + 4.3. Obsolete Date and Time + The syntax for the obsolete date format allows a 2 digit year in the + date field and allows for a list of alphabetic time zone + specifications that were used in earlier versions of this standard. + It also permits comments and folding white space between many of the + tokens. + obs-day-of-week = [CFWS] day-name [CFWS] + obs-year = [CFWS] 2*DIGIT [CFWS] + obs-month = CFWS month-name CFWS + obs-day = [CFWS] 1*2DIGIT [CFWS] + obs-hour = [CFWS] 2DIGIT [CFWS] + obs-minute = [CFWS] 2DIGIT [CFWS] + obs-second = [CFWS] 2DIGIT [CFWS] + obs-zone = "UT" / "GMT" / ; Universal Time + Resnick Standards Track [Page 31] + RFC 2822 Internet Message Format April 2001 + ; North American UT + ; offsets + "EST" / "EDT" / ; Eastern: - 5/ - 4 + "CST" / "CDT" / ; Central: - 6/ - 5 + "MST" / "MDT" / ; Mountain: - 7/ - 6 + "PST" / "PDT" / ; Pacific: - 8/ - 7 + %d65-73 / ; Military zones - "A" + %d75-90 / ; through "I" and "K" + %d97-105 / ; through "Z", both + %d107-122 ; upper and lower case -- imported lower and upper + + + + + Extracts the date and time parts from the + + The date input string, from which to extract the date and time parts + + The extracted date part or if is not + recognized as a valid date. + + If is + + + + Strips and removes all comments and excessive whitespace from the string + + The input to strip from + The stripped string + If is + + + + Converts date time string in very wrong date time format: + Tue Feb 18 10:23:30 2014 (MSK) + to + Feb 18 2014 10:23:30 MSK + + The date to convert + The corrected string + + + + Timezone formats that aren't +-hhmm, e.g. UTC, or K. See MatchEvaluator method for conversions + + + + + Matches any +=hhmm timezone offset, e.g. +0100 + + + + + Thanks to http://stackoverflow.com/a/7333402/477854 for inspiration + This class can convert from strings like "104 kB" (104 kilobytes) to bytes. + It does not know about differences such as kilobits vs kilobytes. + + + + + Contains common operations needed while decoding. + + + + + Remove quotes, if found, around the string. + + Text with quotes or without quotes + Text without quotes + If is + + + + Split a string into a list of strings using a specified character.
+ Everything inside quotes are ignored. +
+ A string to split + The character to use to split with + A List of strings that was delimited by the character +
+ + + that describes the ContentTransferEncoding header field + + See RFC 2045 section 6 for more details + + + + 7 bit Encoding + + + + + 8 bit Encoding + + + + + Quoted Printable Encoding + + + + + Base64 Encoding + + + + + Binary Encoding + + + + + Utility class that divides a message into a body and a header.
+ The header is then parsed to a strongly typed object. +
+
+ + + Extract the headers from the given headers string and gives it back + as a MessageHeader object + + The string with the header information + + + + Method that takes a full message and extract the headers from it. + + The message to extract headers from. Does not need the body part. Needs the empty headers end line. + A collection of Name and Value pairs of headers + If is + + + + Check if the next line is part of the current header value we are parsing by + peeking on the next character of the .
+ This should only be called while parsing headers. +
+ The reader from which the header is read from + if multi-line header. otherwise +
+ + + Separate a full header line into a header name and a header value. + + The raw header line to be separated + If is + + + + Class that can parse different fields in the header sections of a MIME message. + + + + + Parses the Content-Transfer-Encoding header. + + The value for the header to be parsed + A + If is + + If the could not be parsed to a + + + + + + Parses an ImportanceType from a given Importance header value. + + The value to be parsed + A . If the is not recognized, Normal is returned. + If is + + + + Parses a the value for the header Content-Type to + a object. + + The value to be parsed + A object + If is + + + + Parses a the value for the header Content-Disposition to a object. + + The value to be parsed + A object + If is + + + + Parses an ID like Message-Id and Content-Id.
+ Example:
+ <test@test.com>
+ into
+ test@test.com +
+ The id to parse + A parsed ID +
+ + + Parses multiple IDs from a single string like In-Reply-To. + + The value to parse + A list of IDs + + + + Class that holds all headers for a message
+ Headers which are unknown the the parser will be held in the collection.
+
+ This class cannot be instantiated from outside the library. +
+ + See RFC 4021 for a large list of headers.
+
+
+ + + Contains all the headers as a Dictionary<string, List<string>> + + + + + All headers which were not recognized and explicitly dealt with.
+ This should mostly be custom headers, which are marked as X-[name].
+
+ This list will be empty if all headers were recognized and parsed. +
+
+ + + A human readable description of the body
+
+ if no Content-Description header was present in the message. +
+
+ + + ID of the content part (like an attached image). Used with MultiPart messages.
+
+ if no Content-ID header field was present in the message. +
+ For an ID of the message +
+ + + Message keywords
+
+ The list will be empty if no Keywords header was present in the message +
+
+ + + A List of emails to people who wishes to be notified when some event happens.
+ These events could be email: + + deletion + printing + received + ... + + The list will be empty if no Disposition-Notification-To header was present in the message +
+ See RFC 3798 for details +
+ + + This is the Received headers. This tells the path that the email went.
+
+ The list will be empty if no Received header was present in the message +
+
+ + + Importance of this email.
+
+ The importance level is set to normal, if no Importance header field was mentioned or it contained + unknown information. This is the expected behavior according to the RFC. +
+
+ + + This header describes the Content encoding during transfer.
+
+ If no Content-Transfer-Encoding header was present in the message, it is set + to the default of SevenBit in accordance to the RFC. +
+ See RFC 2045 section 6 for details +
+ + + Specifies who this mail was for
+
+ The list will be empty if no To header was present in the message +
+
+ + + Carbon Copy. This specifies who got a copy of the message.
+
+ The list will be empty if no Cc header was present in the message +
+
+ + + Blind Carbon Copy. This specifies who got a copy of the message, but others + cannot see who these persons are.
+
+ The list will be empty if no Received Bcc was present in the message +
+
+ + + Specifies who sent the email
+
+ if no From header field was present in the message +
+
+ + + Specifies who a reply to the message should be sent to
+
+ if no Reply-To header field was present in the message +
+
+ + + The message identifier(s) of the original message(s) to which the + current message is a reply.
+
+ The list will be empty if no In-Reply-To header was present in the message +
+
+ + + The message identifier(s) of other message(s) to which the current + message is related to.
+
+ The list will be empty if no References header was present in the message +
+
+ + + This is the sender of the email address.
+
+ if no Sender header field was present in the message +
+ + The RFC states that this field can be used if a secretary + is sending an email for someone she is working for. + The email here will then be the secretary's email, and + the Reply-To field would hold the address of the person she works for.
+ RFC states that if the Sender is the same as the From field, + sender should not be included in the message. +
+
+ + + The Content-Type header field.
+
+ If not set, the ContentType is created by the default "text/plain; charset=us-ascii" which is + defined in RFC 2045 section 5.2.
+ If set, the default is overridden. +
+
+ + + Used to describe if a message part is to be displayed or to be though of as an attachment.
+ Also contains information about filename if such was sent.
+
+ if no Content-Disposition header field was present in the message +
+
+ + + The Date when the email was sent.
+ This is the raw value. for a parsed up value of this field.
+
+ if no Date header field was present in the message or if the date could not be + parsed. +
+ See RFC 5322 section 3.6.1 for more details +
+ + + The Date when the email was sent.
+ This is the parsed equivalent of .
+ Notice that the of the object is in UTC and has NOT been converted + to local . +
+ See RFC 5322 section 3.6.1 for more details +
+ + + An ID of the message that is SUPPOSED to be in every message according to the RFC.
+ The ID is unique.
+
+ if no Message-ID header field was present in the message +
+
+ + + The Mime Version.
+ This field will almost always show 1.0
+
+ if no Mime-Version header field was present in the message +
+
+ + + A single with no username inside.
+ This is a trace header field, that should be in all messages.
+ Replies should be sent to this address.
+
+ if no Return-Path header field was present in the message +
+
+ + + The subject line of the message in decoded, one line state.
+ This should be in all messages.
+
+ if no Subject header field was present in the message +
+
+ + + Creates an empty header object, use the method + to set values + + + + + Parses a Dictionary<string, string> to a MessageHeader + + The collection that should be traversed and parsed + A valid MessageHeader object + If is + + + + Clears the object and sets all the properties to their default values + + + + + Parses a to a + + The collection that should be traversed and parsed + A valid object + If is + + + + Parses a single header and sets member variables according to it. + + The name of the header + The value of the header in unfolded state (only one line) + + If or is + + + + + + Returns the value(s) of the header, null will be returned when the + header does not exist + + The name of the header + + + + Add's a single header or updates it if it already exists + + The name of the header + The value for the header + + + + Returns the headers as a string + + + + + + Class that hold information about one "Received:" header line.
+
+ Visit these RFCs for more information:
+ RFC 5321 section 4.4
+ RFC 4021 section 3.6.7
+ RFC 2822 section 3.6.7
+ RFC 2821 section 4.4
+
+
+ + + Parses a Received header value. + + The value for the header to be parsed + + If is + + + + + Parses the Received header name-value-list into a dictionary. + + The full header value for the Received header + A dictionary where the name-value-list has been parsed into + + + + The date of this received line. + Is if not present in the received header line. + + + + + A dictionary that contains the names and values of the + received header line.
+ If the received header is invalid and contained one name + multiple times, the first one is used and the rest is ignored. +
+ + If the header lines looks like: + + from sending.com (localMachine [127.0.0.1]) by test.net (Postfix) + + then the dictionary will contain two keys: "from" and "by" with the values + "sending.com (localMachine [127.0.0.1])" and "test.net (Postfix)". + +
+ + + The raw input string that was parsed into this class. + + + + + This class is used for RFC compliant email addresses.
+
+ The class cannot be instantiated from outside the library. +
+ + The does not cover all the possible formats + for RFC 5322 section 3.4 compliant email addresses. + This class is used as an address wrapper to account for that deficiency. + +
+ + + A string representation of the object + + Returns the string representation for the object + + + + The email address of this
+ It is possibly string.Empty since RFC mail addresses does not require an email address specified. +
+ + Example header with email address:
+ To: Test test@mail.com
+ Address will be test@mail.com
+
+ + Example header without email address:
+ To: Test
+ Address will be . +
+
+ + + The display name of this
+ It is possibly since RFC mail addresses does not require a display name to be + specified. +
+ + Example header with display name:
+ To: Test test@mail.com
+ DisplayName will be Test +
+ + Example header without display name:
+ To: test@test.com
+ DisplayName will be +
+
+ + + This is the Raw string used to describe the . + + + + + The associated with the . + + + The value of this property can be in instances where the cannot + represent the address properly.
+ Use property to see if this property is valid. +
+
+ + + Specifies if the object contains a valid reference. + + + + + Constructs an object from a object.
+ This constructor is used when we were able to construct a from a string. +
+ The address that was parsed into + The raw unparsed input which was parsed into the + + If or is + + +
+ + + When we were unable to parse a string into a , this constructor can be + used. The Raw string is then used as the . + + The raw unparsed input which could not be parsed + If is + + + + Parses an email address from a MIME header
+
+ Examples of input: + Eksperten mailrobot <noreply@mail.eksperten.dk>
+ "Eksperten mailrobot" <noreply@mail.eksperten.dk>
+ <noreply@mail.eksperten.dk>
+ noreply@mail.eksperten.dk
+
+ It might also contain encoded text, which will then be decoded. +
+ The value to parse out and email and/or a username + A + If is + + RFC 5322 section 3.4 for more details on email + syntax.
+ For more information about encoded text. +
+
+ + + Parses input of the form
+ Eksperten mailrobot <noreply@mail.eksperten.dk>, ...
+ to a list of RFCMailAddresses +
+ The input that is a comma-separated list of EmailAddresses to parse + A List of objects extracted from the parameter. + If is +
+ + + A process that converts PropertyName structures to property IDs and vice-versa. Named properties can be referred to + by their PropertyName. However, before accessing the property on a specific message store, named properties need to + be mapped to property IDs that are valid for that message store. The reverse is also true. When properties need to + be copied across message stores, property IDs that are valid for the source message store need to be mapped to + their PropertyName structures before they can be sent to the destination message store. + + + + + A class that holds all the known named mapi tags + + + + + Specifies the date and time at which the meeting-related object was sent + + + + + Contains the value of the PidLidLocation property (section 2.159) from the associated + Meeting object. + + + + + Contains the value of the PidLidGlobalObjectId property (section 2.142) for an object + that represents an Exception object to a recurring series, where the Year, Month, and Day fields are + all zero. + + + + + Indicates whether the user did not include any text in the body of the Meeting Response + object. + + + + + Specifies whether the object is associated with a recurring series. + + + + + Identifies required attendees for the appointment or meeting. + + + + + Specifies optional attendees. + + + + + Identifies resource attendees for the appointment or meeting. + + + + + Indicates whether a delegate responded to the meeting request. + + + + + Indicates whether the object represents an exception (including an orphan instance). + + + + + Deprecated + + + + + Contains a stream that maps to the persisted format of a TZREG structure, which describes the time zone to be used + for the start and end time of a recurring appointment or meeting request. + + + + + Identifies the start date of the recurrence pattern. + + + + + Identifies the start time of the recurrence pattern. + + + + + Identifies the end date of the recurrence range + + + + + Identifies the end time of the recurrence range. + + + + + Identifies the day interval for the recurrence pattern. + + + + + Identifies the number of weeks that occur between each meeting + + + + + Indicates the monthly interval of the appointment or meeting. + + + + + Indicates the monthly interval of the appointment or meeting. + + + + + + + + + Indicates the month of the year in which the appointment or meeting occurs. + + + + + Specifies the date and time at which a Meeting Request object was sent by the + organizer. + + + + + Contains the value of the CalendarType field from the PidLidAppointmentRecur + property(section 2.22). + + + + + Deprecated + + + + + Contains the value of the PidLidGlobalObjectId property (section 2.142) for an object + that represents an Exception object to a recurring series, where the Year, Month, and Day fields are + all zero. + + + + + Indicates the message class of the Meeting object to be generated from the Meeting + Request object. + + + + + + + + + Indicates the type of Meeting Request object or Meeting Update object. + + + + + Indicates the original value of the PidLidAppointmentStartWhole property (section2.29) before a meeting update. + + + + + Indicates the original value of the PidLidAppointmentEndWhole property (section2.14) before a meeting update. + + + + + Specifies the name under which to file a contact when displaying a list of contacts. + + + + + Specifies how to generate and recompute the value of the PidLidFileUnder property + (section 2.132) when other contact name properties change. + + + + + Specifies the visible fields in the application's user interface that are used to help display + the contact information. + + + + + Deprecated + + + + + This property is ignored by the server and is set to an empty string by the client + + + + + Specifies whether the attachment has a picture. + + + + + Specifies the complete address of the home address of the contact. + + + + + Specifies the complete address of the work address of the contact. + + + + + Specifies the complete address of the contact’s other address. + + + + + Specifies the complete address of the other address of the contact. + + + + + Specifies the character set used for this contact. + + + + + Specifies the character set used for a Contact object. + + + + + Specifies a list of possible values for the PidLidFileUnderId property (section 2.133) + + + + + The value of this property is ignored. + + + + + Specifies which electronic address properties are set on the Contact object. + + + + + + + + + Specifies the state of the electronic addresses of the contact and represents a set of bit + flags. + + + + + Specifies the phonetic pronunciation of the given name of the contact. + + + + + Specifies the phonetic pronunciation of the surname of the contact. + + + + + Specifies the phonetic pronunciation of the company name of the contact. + + + + + Contains user customization details for displaying a contact as a business card. + + + + + Contains the image to be used on a business card. + + + + + Specifies the street portion of the work address of the contact. + + + + + Specifies the city or locality portion of the work address of the contact. + + + + + Specifies the state or province portion of the work address of the contact. + + + + + Specifies the postal code (ZIP code) portion of the work address of the contact. + + + + + Specifies the country code portion of the work address of the contact. + + + + + Specifies the post office box portion of the contact's work address. + + + + + Specifies the 32-bit cyclic redundancy check (CRC) polynomial checksum, as + specified in [ISO/IEC8802-3], calculated on the value of the PidLidDistributionListMembers + property(section 2.96). + + + + + Specifies the EntryID of an optional Appointment object that represents the birthday of + the contact. + + + + + Specifies the EntryID of the Appointment object that represents an anniversary of + the contact. + + + + + Contains text used to add custom text to a business card representation of a Contact + object. + + + + + Contains text used to add custom text to a business card representation of a Contact + object. + + + + + Contains text used to add custom text to a business card representation of a Contact + object. + + + + + Contains text used to add custom text to a business card representation of a Contact + object. + + + + + Specifies the name of the personal distribution list. + + + + + Specifies the list of one-off EntryIDs corresponding to the members of the personal + distribution list. + + + + + Specifies the 32-bit cyclic redundancy check (CRC) polynomial checksum, as + specified in [ISO/IEC8802-3], calculated on the value of PidLidDistributionListMembers(section 2.91) + + + + + Specifies the contact's instant messaging address. + + + + + Specifies the list of EntryIds and one-off EntryIds corresponding to the members of + the personal distribution list. + + + + + Specifies the user-readable display name for the email address. + + + + + Specifies the address type of an electronic address. + + + + + Specifies the email address of the contact. + + + + + Specifies the SMTP email address that corresponds to the email address for the Contact + object. + + + + + Specifies the EntryID of the object corresponding to this electronic address. + + + + + Returns true when the E-mail is stored in RTF format + + + + + + + + + + Specifies the user-readable display name for the e-mail address. + + + + + Specifies the EntryID of the object corresponding to this electronic address. + + + + + Specifies the address type of an electronic address. + + + + + Specifies the email address of the contact. + + + + + Specifies the SMTP email address that corresponds to the email address for the Contact + object. + + + + + Specifies the EntryID of the object corresponding to this electronic address. + + + + + Returns true when the E-mail is stored in RTF format + + + + + Specifies the user-readable display name for the e-mail address. + + + + + Specifies the EntryID of the object corresponding to this electronic address. + + + + + Specifies the address type of an electronic address. + + + + + Specifies the email address of the contact. + + + + + Specifies the SMTP email address that corresponds to the email address for the Contact + object. + + + + + Specifies the EntryID of the object corresponding to this electronic address. + + + + + Returns true when the E-mail is stored in RTF format + + + + + Contains the string value "FAX". + + + + + Contains a user-readable display name, followed by the "@" character, followed by a + fax number. + + + + + Contains the same value as PidTagNormalizedSubject (section 2.907). + + + + + Specifies a one-off EntryId corresponding to this fax address. + + + + + Contains the string value "FAX". + + + + + Contains a user-readable display name, followed by the "@" character, followed by a + fax number. + + + + + Contains the same value as PidTagNormalizedSubject (section 2.907). + + + + + Specifies a one-off EntryId corresponding to this fax address. + + + + + Contains the string value "FAX". + + + + + Contains a user-readable display name, followed by the "@" character, followed by a + fax number. + + + + + Contains the same value as PidTagNormalizedSubject (section 2.907). + + + + + Specifies a one-off EntryId corresponding to this fax address. + + + + + Specifies a URL path from which a client can retrieve free/busy status information + for the contact. + + + + + Specifies the country code portion of the contact's home address. + + + + + Specifies the country code portion of the contact's work address. + + + + + Specifies the country code portion of the contact's other address. + + + + + Specifies the birthday of a contact. + + + + + Specifies the country code portion of the contact's mailing address. + + + + + Specifies the wedding anniversary of the contact, at 0:00 in the client's local time + zone and it is saved without any time zone conversions. + + + + + Specifies the status of a task. + + + + + Indicates whether a time-flagged Message object is completed or not. + + + + + Specifies if the task is for a team + + + + + Specifies the date on which the user expects work on the task to begin. + + + + + Specifies the date by which the user expects work on the task to be complete. + + + + + Indicates whether future instances of recurring tasks need reminders, even though + (section 2.220) is 0x00. + + + + + Indicates whether a task assignee has replied to a task request for this Task object. + + + + + Indicates whether new occurrences remain to be generated. + + + + + Specifies the date when the user completed work on the task. + + + + + Indicates the number of minutes that the user actually spent working on a task. + + + + + Indicates the number of minutes that the user expects to work on a task. + + + + + Indicates which copy is the latest update of a Task object. + + + + + Indicates the current assignment state of the Task object. + + + + + Contains the date and time of the most recent change made to the Task object. + + + + + Contains a RecurrencePattern structure that provides information about recurring + tasks. + + + + + Contains a stack of entries, each representing a task assigner. + + + + + Indicates whether the task assignee has been requested to send an e-mail message + update when the task assignee completes the assigned task. + + + + + Indicates the type of change that was last made to the Task object. + + + + + Indicates whether the task assignee has been requested to send a task update when + the assigned Task object changes. + + + + + Indicates that the task has been completed. + + + + + Indicates that the Task object was originally created by the action of the current user + or user agent instead of by the processing of a task request. + + + + + Contains the name of the task owner. + + + + + Provides optimization hints about the recipients of a Task object. + + + + + Specifies the name of the user that last assigned the task. + + + + + Contains the name of the most recent user to have been the task owner. + + + + + Provides an aid to custom sorting of Task objects + + + + + Not used. The client can set this property, but it has no impact on the Task-Related + Objects protocol and is ignored by the server. + + + + + Contains the name of the user who most recently assigned the task, or the user to + whom it was most recently assigned. + + + + + Indicates whether the task includes a recurrence pattern. + + + + + Not used. The client can set this property, but it has no impact on the Task-Related + Objects protocol and is ignored by the server. + + + + + Indicates the role of the current user relative to the Task object. + + + + + The acceptance state of the task + + + + + Indicates the accuracy of PidLidTaskOwner (section 2.326). + + + + + The client can set this property, but it has no impact on the Task-Related Objects + protocol and is ignored by the server. + + + + + The client can set this property, but it has no impact on the Task-Related Objects + protocol and is ignored by the server. + + + + + + + + + + + + + + + Specifies the sequence number of a Meeting object. + + + + + Indicates the date and time at which the property PidLidAppointmentSequence + (section 2.25) was last modified. + + + + + Indicates to the organizer the last sequence number that was sent to any attendee. + + + + + Specifies a bit field that indicates how the Meeting object has changed. + + + + + Specifies the availability of a user for the event described by the object. + + + + + Indicates that the Exception Embedded Message object has a body that differs from the + Recurring Calendar object. + + + + + Specifies a bit field that describes the auxiliary state of the object. + + + + + Indicates whether the value of the property (section 2.159) is set to + the PidTagDisplayName property(section 2.667). + + + + + Specifies the URL of the Meeting Workspace that is associated with a Calendar object. + + + + + Indicates whether the Meeting Request object represents an exception to a recurring + series, and whether it was forwarded(even when forwarded by the organizer) rather than being an + invitation sent by the organizer. + + + + + Indicates whether the user did not include any text in the body of the Meeting Response + object. + + + + + Specifies time zone information that indicates the time zone of the + property(section 2.29). + + + + + Specifies time zone information that indicates the time zone of the + property(section 2.14). + + + + + Identifies the time that the appointment starts. + + + + + Indicates the time that the appointment ends. + + + + + Indicates the date that the appointment ends. + + + + + Identifies the date that the appointment starts. + + + + + Specifies the length of the event, in minutes. + + + + + Specifies the color to be used when displaying the Calendar object. + + + + + Specifies whether the event is an all-day event. + + + This property specifies whether or not the event is an all-day event, as + specified by the user. A value of true indicates that the event is an all-day + event, in which case the start time and end time must be midnight so that the + duration is a multiple of 24 hours and is at least 24 hours. A value of false + or the absence of this property indicates the event is not an all-day event. The + client or server must not infer the value as TRUE when a user happens to create an + event that is 24 hours, even if the event starts and ends at midnight. + + + + + Contains the value of the CalendarType field from the PidLidAppointmentRecur + property(section 2.22). + + + + + Specifies a bit field that describes the state of the object. + + + + + Specifies the response status of an attendee. + + + + + Specifies the date and time at which the attendee responded to a received meeting + request or Meeting Update object. + + + + + Specifies whether the object represents a recurring series. + + + + + Contains the value of the PidLidBusyStatus property (section 2.47) on the Meeting + object in the organizer's calendar at the time the Meeting Request object or Meeting + Update object was sent. + + + + + Indicates the time at which the appointment was last updated. + + + + + Specifies the date and time, in UTC, within a recurrence pattern that an exception will + replace. + + + + + Indicates whether invitations have been sent for the meeting that this Meeting object + represents. + + + + + Indicates that the object is a Recurring Calendar object with one or more + exceptions, and at least one of the Exception Embedded Message objects has at least + one RecipientRow. + + + + + Indicates the name of the owner of the mailbox. + + + + + Indicates whether the Calendar folder from which the meeting was opened is + another user's calendar. + + + + + Specifies the user who last replied to the meeting request or meeting update. + + + + + Specifies the recurrence type of the recurring series. + + + + + Specifies a description of the recurrence pattern of the Calendar object. + + + + + Specifies a human-readable description of the time zone that is represented by the + data in the property(section 2.340). + + + + + Specifies a human-readable description of the time zone that is represented by the + data in the PidLidTimeZoneStruct property(section 2.340). + + + + + Specifies the start date and time of the event in UTC. + + + + + Specifies the end date and time of the event in UTC. + + + + + The original store id + + + + + Specifies a list of all the attendees except for the organizer, including resources and + unsendable attendees. + + + + + Indicates whether the value of the property (section 2.157) + is set to the property(section 2.746) + + + + + Contains a list of all the sendable attendees who are also required attendees. + + + + + Contains a list of all the sendable attendees who are also optional attendees. + + + + + When set to TRUE (0x00000001), the PidLidConferencingCheck property ([MS-OXPROPS] section 2.65) + indicates that the associated meeting is one of the following types: + - "Windows Media Services" + - "Windows NetMeeting" + - "Exchange Conferencing" + + If this property is set, (section 2.2.1.51.3) is also to + be set. This property is set to TRUE only on Meeting objects or meeting-related objects. + + + + + Specifies the type of the meeting. + + + + + Specifies the directory server to be used with NetMeeting. + + + + + Specifies the e-mail address of the organizer. + + + + + Specifies whether or not to automatically start the conferencing application when a + reminder for the meeting fires. + + + + + + + + + + This property is set to TRUE + + + + + Specifies the document to be launched when the user joins the meeting. + + + + + Specifies the URL to be launched when the user joins the meeting. + + + + + Specifies the password for a meeting on which the property + (section 2.66) has the value 0x00000002. + + + + + Specifies the proposed value for the + property (section 2.29) for a counter proposal. + + + + + Specifies the proposed value for the property (section 2.14) + for a counter proposal. + + + + + Indicates the proposed value for the property (section 2.11) + for a counter proposal. + + + + + Indicates whether a Meeting Response object is a counter proposal. + + + + + Specifies the number of attendees who have sent counter proposals that have not been + accepted or rejected by the organizer. + + + + + Indicates whether attendees are not allowed to propose a new date and/or time for the + meeting. + + + + + Contains a list of unsendable attendees. + + + + + Specifies time zone information that indicates the time zone of the + property(section 2.29). + + + + + + + + + + Specifies time zone information that indicates the time zone of the + property(section 2.14). + + + + + Contains a list of structures, as described in [MS-OXCDATA] section 2.8.3, + that indicate the of a meeting forward. + + + + + Contains the contents of the iCalendar MIME part of the original MIME message. + + + + + Specifies the interval, in minutes, between the time at which the reminder first + becomes overdue and the start time of the Calendar object. + + + + + Specifies the filename of the sound that a client is to play when the reminder for that + object becomes overdue. + + + + + Specifies whether the client is to respect the values PidLidReminderPlaySound (section + 2.219) and (section 2.217), or use the default + values for those properties. + + + + + Specifies whether the client is to play a sound when the reminder becomes overdue. + + + + + Specifies whether a reminder is set on the object. + + + + + Specifies the point in time when a reminder transitions from pending to overdue. + + + + + Specifies the initial signal time for non-Calendar objects. + + + + + Indicates the time and date of the reminder for the appointment or meeting. + + + + + Indicates the time of the reminder for the appointment or meeting. + + + + + This property is not set and if set, is ignored. + + + + + + + + + + Identifies the day of the month for the appointment or meeting. + + + + + Specifies the contact’s business web page URL. + + + + + Indicates the number of occurrences in the recurring appointment or meeting. + + + + + Indicates the number of occurrences in the recurring appointment or meeting. + + + + + Indicates whether the recurrence pattern has an end date. + + + + + Identifies the length, in minutes, of the appointment or meeting. + + + + + Indicates the remote status of the calendar item. + + + + + Contains the entry ID for the destination folder. + + + + + Contains the entry ID for a move to a folder in a different store. + + + + + Contains the maximum value of (section 2.886) of all the + E-mail objects modified in response to the last time the user changed a conversation action on the + client. + + + + + Contains the time (in UTC) that an E-mail object was last received in the + conversation, or the last time that the user modified the conversation action, whichever occurs + later. + + + + + Contains the time (in UTC) that an E-mail object was last received in the + conversation, or the last time that the user modified the conversation action, whichever occurs + later. + + + + + Contains the version of the conversation action FAI message. + + + + + Briefly describes the activity that is being recorded. + + + + + Contains the time at which the activity began. + + + + + Contains the duration in minutes of the activity. + + + + + + + + + + Contains the time at which the activity ended. + + + + + Indicates whether the document was printed during journaling. + + + + + Indicates whether the document was saved during journaling. + + + + + Indicates whether the document was routed during journaling. + + + + + Indicates whether the document was posted during journaling. + + + + + Describes the activity that is being recorded. + + + + + Contains the URL of the RSS or Atom feed that the XML file came from. + + + + + Contains the URL of the link from the item. + + + + + Contains a hash of the feed XML computed by using an implementation-dependent + algorithm. + + + + + Contains a unique identifier for the RSS object. + + + + + Contains the contents of the title field from the XML of the Atom feed or RSS channel. + + + + + Contains the item element and all its sub-elements from an RSS feed, or the entry + element and all its sub-elements from an Atom feed. + + + + + Contains the user's preferred name for the subscription. + + + + + Contains the user's preferred name for the subscription. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains the value "%xAE.F0.06.00.00.00.00.00.C0.00.00.00.00.00.00.46". + + + + + Contains a user-displayable name of the sharing provider identified by the + property(section 2.266). + + + + + Contains a URL related to the sharing provider identified by the + property(section 2.266). + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains the same value as the PidLidSharingRemoteName property (section 2.277). + + + + + Contains the EntryID of the folder being shared. + + + + + Contains the value of the PidTagDisplayName property(section 2.667) from the + Address Book object identified by the + property(section 2.248). + + + + + Contains the value of the PidTagSmtpAddress property (section 2.1010) from the + Address Book object identified by the + property(section 2.248). + + + + + Contains the value of the PidTagEntryId property (section 2.674) for + the Address Book object of the currently logged-on user. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a zero-length string. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains the time at which the recipient of the sharing request sent a sharing response. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a hexadecimal string representation of the value of the PidTagStoreEntryId + property(section 2.1018) on the folder being shared. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Specifies the suggested background color of the Note object. + + + + + Specifies the width of the visible message window in pixels. + + + + + Specifies the height of the visible message window in pixels. + + + + + Specifies the distance, in pixels, from the left edge of the screen that a user interface + displays a Note object. + + + + + Specifies the distance, in pixels, from the top edge of the screen that a user interface + displays a Note object. + + + + + Contains the array of text labels assigned to this Message object. + + + + + Specifies the application used to open the file attached to the Document object. + + + + + Specifies the author of the file attached to the Document object + + + + + Specifies the size, in bytes, of the file attached to the Document object. + + + + + Specifies the role of the attendee. + + + + + Specifies whether the attendee is busy at the time of an appointment on their calendar. + + + + + Identifies the name of a contact who is an attendee of a meeting. + + + + + Identifies the URL where you can access contact information in HTML format + + + + + Identifies the date and time, in UTC, when the organizer created the appointment or + meeting. + + + + + Specifies the URL of a resource that contains a description of an appointment or + meeting. + + + + + Identifies the duration, in seconds, of an appointment or meeting. + + + + + Identifies a list of dates that are exceptions to a recurring appointment + + + + + Specifies an exception rule for a recurring appointment + + + + + Specifies the category of the file attached to the Document object + + + + + Specifies the character count of the file attached to the Document object + + + + + Specifies the comments of the file attached to the Document object. + + + + + Specifies the company for which the file was created. + + + + + Specifies the time, in UTC, that the file was first created. + + + + + Specifies the value used to cache the Use License for the rights-managed email + message. + + + + + Specifies the time that the file was last edited. + + + + + Specifies the hidden value of the file attached to the Document object. + + + + + Contains keywords or categories for the Message object. + + + + + Specifies the most recent author of the file attached to the Document object. + + + + + Specifies the time, in UTC, that the file was last printed. + + + + + Specifies the time, in UTC, that the file was last saved. + + + + + Specifies the number of lines in the file attached to the Document object. + + + + + Specifies the manager of the file attached to the Document object. + + + + + Specifies the number of multimedia clips in the file attached to the Document object. + + + + + Specifies the number of notes in the file attached to the Document object. + + + + + Contains the GUID of the SMS account used to deliver the message. + + + + + Indicates the model of the mobile device used to send the SMS or MMS message. + + + + + Contains the time, in UTC, at which the client requested that the service provider send + the SMS or MMS message. + + + + + Contains the type of service used to send an SMS or MMS message. + + + + + Contains the source of an SMS or MMS message. + + + + + Indicates whether a message is likely to be phishing. + + + + + Indicates whether a message is likely to be spoofing. + + + + + Specifies the page count of the file attached to the Document object. + + + + + Specifies the number of paragraphs in the file attached to the Document object. + + + + + Specifies the presentation format of the file attached to the Document object. + + + + + Specifies the security level of the file attached to the Document object. + + + + + Specifies the number of slides in the file attached to the Document object. + + + + + Specifies the subject of the file attached to the Document object. + + + + + Specifies the template of the file attached to the Document object. + + + + + Specifies the title of the file attached to the Document object. + + + + + Specifies the word count of the file attached to the Document object. + + + + + Contains the value of the MIME Accept-Language header. + + + + + This property specifies the address of the moderator that approved and posted a message. + + + + + Unknown + + + + + Unknown + + + + + Unknown + + + + + Unknown + + + + + Unknown + + + + + Unknown + + + + + This property specifies the blind carbon copy addressees of the message. This property + SHOULD be directly imported from and exported to the bcc header that is specified in + [RFC822]. + + + + + This property specifies the carbon copy addressees of the message. This property SHOULD + be directly imported from and exported to the cc header that is specified in [RFC822]. + + + + + Specifies the value of the MIME Content-Base header, which defines the base URI for + resolving relative URLs contained within the message body. + + + + + Contains a string that identifies the type of content of a Message object. + + + + + This property specifies the intended disposition of the body part. + + + + + This property specifies a unique identifier for the body part. + + + + + This property specifies the language identifier for the text content of the body part. + + + + + This property specifies the Uniform Resource Identifier (URI) that corresponds to the content + of the body part. + + + + + This property specifies the encoding mechanism used to encode the content of the body part. + + + + + This property specifies the type of the body part's content. + + + + + + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains a string representation of the value of the + property(section 2.237). + + + + + Contains the same value as the property (section 2.238). + + + + + Unknown + + + + + Contains a hexadecimal string representation of the value of the PidLidSharingFlavor + property(section 2.245). + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + + + + + + Contains the same value as the PidLidSharingLocalType property (section 2.259). + + + + + Contains the same value as the property (section 2.267). + + + + + Contains the same value as the property (section 2.268). + + + + + Contains the same value as the property (section 2.277). + + + + + Contains a value that is ignored by the server no matter what value is generated by the + client. + + + + + Contains the same value as the property (section 2.282). + + + + + Contains the same value as the property (section 2.281). + + + + + Contains the same value as the property (section 2.282). + + + + + Unknown + + + + + Unknown + + + + + Indicates what actions the user has taken on this Meeting object. + + + + + Indicates whether the Meeting Request object or Meeting Update object has been + processed. + + + + + + + + + + Contains the Content-Type of the Mac attachment. + + + + + Contains the headers and resource fork data associated with the Mac attachment. + + + + + + + + + + Contains textual annotations to a voice message after it has been delivered to the user's + mailbox. + + + + + Outlook protection rule timestamp + + + + + X-Unified messaging partner assigned id + + + + + X-Unified messaging partner content + + + + + The spam confidence level + + + + + Indicates the transfer size, in bytes, for a remote item. + + + + + Indicates whether a remote item has an attachment associated with it. + + + + + Used to hold exactly one named property tag + + + + + The 2 byte identifier + + + + + The name of the property + + + + + The + + + + + The 2 byte + + + + + Creates this object and sets all its properties + + The id + The name of the property + The property + The + + + + A class that holds all the known mapi tags + + + + + The prefix for an + + + + + The prefix for an + + + + + The prefix for a + + + + + The name for the properties stream + + + + + The name id storage (named property mapping storage) + + + + + The stream + + + + + The stream + + + + + The stream + + + + + Contains the identifier of the mode for message acknowledgment. + + + + + Contains TRUE if the sender permits auto forwarding of this message. + + + + + Contains a list of entry identifiers for users who have authorized the sending of a message. + + + + + Contains a unicode comment added by the auto-forwarding agent. + + + + + Contains a comment added by the auto-forwarding agent. + + + + + Contains TRUE if the client requests an X-MS-Exchange-Organization-AutoForwarded header field. + + + + + Contains an identifier for the algorithm used to confirm message content confidentiality. + + + + + Contains a value the message sender can use to match a report with the original message. + + + + + Contains a unicode key value that enables the message recipient to identify its content. + + + + + Contains a ANSI key value that enables the message recipient to identify its content. + + + + + Contains a message length, in bytes, passed to a client application or service provider to determine if a message + of that length can be delivered. + + + + + Contains TRUE if a message should be returned with a nondelivery report. + + + + + Contains the conversation key used in Microsoft Outlook only when locating IPM.MessageManager messages, such as the + message that contains download history for a Post Office Protocol (POP3) account. This property has been deprecated + in Exchange Server. + + + + + Contains the encoded information types (EITs) that are applied to a message in transit to describe conversions. + + + + + Contains TRUE if a message transfer agent (MTA) is prohibited from making message text conversions that lose + information. + + + + + Contains an identifier for the types of text in a message after conversion. + + + + + Contains the date and time when a message sender wants a message delivered. + + + + + Contains the date and time when the original message was delivered. + + + + + Contains a reason why a message transfer agent (MTA) has discarded a message. + + + + + Contains TRUE if disclosure of recipients is allowed. + + + + + Contains a history showing how a distribution list has been expanded during message transmiss + + + + + Contains TRUE if a message transfer agent (MTA) is prohibited from expanding distribution lists. + + + + + Contains the date and time when the messaging system can invalidate the content of a message. + + + + + Contains the date and time when the messaging system can invalidate the content of a message. + + + + + Contains a value that indicates the message sender's opinion of the importance of a message. + + + + + The IpmId field represents a PR_IPM_ID MAPI property. + + + + + Contains the latest date and time when a message transfer agent (MTA) should deliver a message. + + + + + Contains a text string that identifies the sender-defined message class, such as IPM.Note. + + + + + Contains a text string that identifies the sender-defined message class, such as IPM.Note. + + + + + Contains a message transfer system (MTS) identifier for a message delivered to a client application. + + + + + Contains a security label for a message. + + + + + Contains the identifiers of messages that this message supersedes. + + + + + Contains the encoded name of the originally intended recipient of an autoforwarded message. + + + + + Contains a copy of the original encoded information types (EITs) for message text. + + + + + Contains an ASN.1 certificate for the message originator. + + + + + Contains TRUE if a message sender requests a delivery report for a particular recipient from the messaging system + before the message is placed in the message store. + + + + + Contains the binary-encoded return address of the message originator. + + + + + Was originally meant to contain a value used in correlating conversation threads. No longer supported. + + + + + Contains the relative priority of a message. + + + + + Contains a binary verification value enabling a delivery report recipient to verify the origin of the original + message. + + + + + Contains TRUE if a message sender requests proof that the message transfer system has submitted a message for + delivery to the originally intended recipient. + + + + + Contains TRUE if a message sender wants the messaging system to generate a read report when the recipient has read + a message. + + + + + Contains the date and time a delivery report is generated. + + + + + Contains TRUE if recipient reassignment is prohibited. + + + + + Contains information about the route covered by a delivered message. + + + + + Contains a list of identifiers for messages to which a message is related. + + + + + Contains the sensitivity value assigned by the sender of the first version of a message — that is, the message + before being forwarded or replied to. + + + + + Contains an ASCII list of the languages incorporated in a message. UNICODE compilation. + + + + + Contains an ASCII list of the languages incorporated in a message. Non-UNICODE compilation. + + + + + Contains the date and time by which a reply is expected for a message. + + + + + Contains a binary tag value that the messaging system should copy to any report generated for the message. + + + + + Contains the date and time when the messaging system generated a report. + + + + + Contains TRUE if the original message is being returned with a nonread report. + + + + + Contains a flag that indicates the security level of a message. + + + + + Contains TRUE if this message is an incomplete copy of another message. + + + + + Contains a value indicating the message sender's opinion of the sensitivity of a message. + + + + + Contains the full subject, encoded in Unicode standard, of a message. + + + + + Contains the full subject, encoded in ANSI standard, of a message. + + + + + Contains a binary value that is copied from the message for which a report is being generated. + + + + + Contains the date and time the message sender submitted a message. + + + + + Contains the unicode display name for the recipient that should get reports for this message. + + + + + Contains the ANSI display name for the recipient that should get reports for this message. + + + + + Contains the search key for the messaging user represented by the sender. + + + + + This property contains the content type for a submitted message. + + + + + Contains a unicode subject prefix that typically indicates some action on a messagE, such as "FW: " for forwarding. + + + + + Contains a ANSI subject prefix that typically indicates some action on a messagE, such as "FW: " for forwarding. + + + + + Contains reasons why a message was not received that forms part of a non-delivery report. + + + + + Contains the entry identifier of the messaging user that actually receives the message. + + + + + Contains the display name of the messaging user that actually receives the message. UNICODE compilation. + + + + + Contains the display name of the messaging user that actually receives the message. Non-UNICODE compilation. + + + + + Contains the entry identifier for the messaging user represented by the sender. + + + + + Contains the display name for the messaging user represented by the sender. UNICODE compilation. + + + + + Contains the display name for the messaging user represented by the sender. Non-UNICODE compilation. + + + + + Contains the display name for the messaging user represented by the receiving user. UNICODE compilation. + + + + + Contains the display name for the messaging user represented by the receiving user. Non-UNICODE compilation. + + + + + Contains the entry identifier for the recipient that should get reports for this message. + + + + + Contains an entry identifier for the messaging user to which the messaging system should direct a read report for + this message. + + + + + Contains a message transfer system (MTS) identifier for the message transfer agent (MTA). + + + + + Contains the date and time a transport provider passed a message to its underlying messaging system. + + + + + Contains the subject of an original message for use in a report about the message. UNICODE compilation. + + + + + Contains the subject of an original message for use in a report about the message. Non-UNICODE compilation. + + + + + The obsolete precursor of the PR_DISCRETE_VALUES property. No longer supported. + + + + + Contains the class of the original message for use in a report. UNICODE compilation. + + + + + Contains the class of the original message for use in a report. Non-UNICODE compilation. + + + + + Contains the entry identifier of the author of the first version of a messagE, that is, the message before being + forwarded or replied to. + + + + + Contains the display name of the author of the first version of a messagE, that is, the message before being + forwarded or replied to. UNICODE compilation. + + + + + Contains the display name of the author of the first version of a messagE, that is, the message before being + forwarded or replied to. Non-UNICODE compilation. + + + + + Contains the original submission date and time of the message in the report. + + + + + Contains a sized array of entry identifiers for recipients that are to get a reply. + + + + + Contains a list of display names for recipients that are to get a reply. UNICODE compilation. + + + + + Contains a list of display names for recipients that are to get a reply. Non-UNICODE compilation. + + + + + Contains the search key of the messaging user that actually receives the message. + + + + + Contains the search key for the messaging user represented by the receiving user. + + + + + Contains a search key for the messaging user to which the messaging system should direct a read report for a + message. + + + + + Contains the search key for the recipient that should get reports for this message. + + + + + Contains a copy of the original message's delivery date and time in a thread. + + + + + Contains the search key of the author of the first version of a messagE, that is, the message before being + forwarded or replied to. + + + + + Contains TRUE if this messaging user is specifically named as a primary (To) recipient of this message and is not + part of a distribution list. + + + + + Contains TRUE if this messaging user is specifically named as a carbon copy (CC) recipient of this message and is + not part of a distribution list. + + + + + Contains TRUE if this messaging user is specifically named as a primary (To), carbon copy (CC), or blind carbon + copy (BCC) recipient of this message and is not part of a distribution list. + + + + + Contains the display name of the sender of the first version of a messagE, that is, the message before being + forwarded or replied to. UNICODE compilation. + + + + + Contains the display name of the sender of the first version of a messagE, that is, the message before being + forwarded or replied to. Non-UNICODE compilation. + + + + + Contains the entry identifier of the sender of the first version of a messagE, that is, the message before being + forwarded or replied to. + + + + + Contains the search key for the sender of the first version of a messagE, that is, the message before being + forwarded or replied to. + + + + + Contains the display name of the messaging user on whose behalf the original message was sent. UNICODE compilation. + + + + + Contains the display name of the messaging user on whose behalf the original message was sent. Non-UNICODE + compilation. + + + + + Contains the entry identifier of the messaging user on whose behalf the original message was sent. + + + + + Contains the search key of the messaging user on whose behalf the original message was sent. + + + + + Contains the starting date and time of an appointment as managed by a scheduling application. + + + + + Contains the ending date and time of an appointment as managed by a scheduling application. + + + + + Contains an identifier for an appointment in the owner's schedule. + + + + + Contains TRUE if the message sender wants a response to a meeting request. + + + + + Contains the address type for the messaging user represented by the sender. UNICODE compilation. + + + + + Contains the address type for the messaging user represented by the sender. Non-UNICODE compilation. + + + + + Contains the e-mail address for the messaging user represented by the sender. UNICODE compilation. + + + + + Contains the e-mail address for the messaging user represented by the sender. Non-UNICODE compilation. + + + + + Contains the address type of the sender of the first version of a messagE, that is, the message before being + forwarded or replied to. UNICODE compilation. + + + + + Contains the address type of the sender of the first version of a messagE, that is, the message before being + forwarded or replied to. Non-UNICODE compilation. + + + + + Contains the e-mail address of the sender of the first version of a message, that is, the message before being + forwarded or replied to. UNICODE compilation. + + + + + Contains the e-mail address of the sender of the first version of a message, that is, the message before being + forwarded or replied to. Non-UNICODE compilation. + + + + + Contains the address type of the messaging user on whose behalf the original message was sent. UNICODE compilation. + + + + + Contains the address type of the messaging user on whose behalf the original message was sent. Non-UNICODE + compilation. + + + + + Contains the e-mail address of the messaging user on whose behalf the original message was sent. UNICODE + compilation. + + + + + Contains the e-mail address of the messaging user on whose behalf the original message was sent. Non-UNICODE + compilation. + + + + + Contains the topic of the first message in a conversation thread. UNICODE compilation. + + + + + Contains the topic of the first message in a conversation thread. Non-UNICODE compilation. + + + + + Contains a binary value that indicates the relative position of this message within a conversation thread. + + + See https://msdn.microsoft.com/en-us/library/office/cc842470.aspx + + + + + Contains a binary value that indicates the relative position of this message within a conversation thread. + + + + + Contains the display names of any blind carbon copy (BCC) recipients of the original message. Non-UNICODE + compilation. + + + + + Contains the display names of any carbon copy (CC) recipients of the original message. UNICODE compilation. + + + + + Contains the display names of any carbon copy (CC) recipients of the original message. Non-UNICODE compilation. + + + + + Contains the display names of the primary (To) recipients of the original message. UNICODE compilation. + + + + + Contains the display names of the primary (To) recipients of the original message. Non-UNICODE compilation. + + + + + Contains the e-mail address typE, such as SMTP, for the messaging user that actually receives the message. UNICODE + compilation. + + + + + Contains the e-mail address typE, such as SMTP, for the messaging user that actually receives the message. + Non-UNICODE compilation. + + + + + Contains the e-mail address for the messaging user that actually receives the message. UNICODE compilation. + + + + + Contains the e-mail address for the messaging user that actually receives the message. Non-UNICODE compilation. + + + + + Contains the address type for the messaging user represented by the user actually receiving the message. UNICODE + compilation. + + + + + Contains the address type for the messaging user represented by the user actually receiving the message. + Non-UNICODE compilation. + + + + + Contains the e-mail address for the messaging user represented by the receiving user. UNICODE compilation. + + + + + Contains the e-mail address for the messaging user represented by the receiving user. Non-UNICODE compilation. + + + + + Contains the address type of the author of the first version of a message. That is — the message before being + forwarded or replied to. UNICODE compilation. + + + + + Contains the address type of the author of the first version of a message. That is — the message before being + forwarded or replied to. Non-UNICODE compilation. + + + + + Contains the e-mail address of the author of the first version of a message. That is — the message before being + forwarded or replied to. UNICODE compilation. + + + + + Contains the e-mail address of the author of the first version of a message. That is — the message before being + forwarded or replied to. Non-UNICODE compilation. + + + + + Contains the address type of the originally intended recipient of an autoforwarded message. UNICODE compilation. + + + + + Contains the address type of the originally intended recipient of an autoforwarded message. Non-UNICODE + compilation. + + + + + Contains the e-mail address of the originally intended recipient of an autoforwarded message. UNICODE compilation. + + + + + Contains the e-mail address of the originally intended recipient of an autoforwarded message. Non-UNICODE + compilation. + + + + + Contains transport-specific message envelope information. Non-UNICODE compilation. + + + + + Contains transport-specific message envelope information. UNICODE compilation. + + + + + Contains the converted value of the attDelegate workgroup property. + + + + + Contains a value used to correlate a Transport Neutral Encapsulation Format (TNEF) attachment with a message + + + + + Contains the message text. UNICODE compilation. + + + These properties are typically used only in an interpersonal message (IPM). + Message stores that support Rich Text Format (RTF) ignore any changes to white space in the message text. When + PR_BODY is stored for the first timE, the message store also generates and stores the PR_RTF_COMPRESSED + (PidTagRtfCompressed) property, the RTF version of the message text. If the IMAPIProp::SaveChanges method is + subsequently called and PR_BODY has been modifieD, the message store calls the RTFSync function to ensure + synchronization with the RTF version. If only white space has been changeD, the properties are left unchanged. This + preserves any nontrivial RTF formatting when the message travels through non-RTF-aware clients and messaging + systems. + The value for this property must be expressed in the code page of the operating system that MAPI is running on. + + + + + Contains the message text. Non-UNICODE compilation. + + + These properties are typically used only in an interpersonal message (IPM). + Message stores that support Rich Text Format (RTF) ignore any changes to white space in the message text. When + PR_BODY is stored for the first timE, the message store also generates and stores the PR_RTF_COMPRESSED + (PidTagRtfCompressed) property, the RTF version of the message text. If the IMAPIProp::SaveChanges method is + subsequently called and PR_BODY has been modifieD, the message store calls the RTFSync function to ensure + synchronization with the RTF version. If only white space has been changeD, the properties are left unchanged. This + preserves any nontrivial RTF formatting when the message travels through non-RTF-aware clients and messaging + systems. + The value for this property must be expressed in the code page of the operating system that MAPI is running on. + + + + + Contains optional text for a report generated by the messaging system. UNICODE compilation. + + + + + Contains optional text for a report generated by the messaging system. NON-UNICODE compilation. + + + + + Contains information about a message originator and a distribution list expansion history. + + + + + Contains the display name of a distribution list where the messaging system delivers a report. + + + + + Contains an identifier for the message transfer agent that generated a report. + + + + + Contains the cyclical redundancy check (CRC) computed for the message text. + + + + + Contains a count of the significant characters of the message text. + + + + + Contains significant characters that appear at the beginning of the message text. UNICODE compilation. + + + + + Contains significant characters that appear at the beginning of the message text. Non-UNICODE compilation. + + + + + Contains the Rich Text Format (RTF) version of the message text, usually in compressed form. + + + + + Contains a count of the ignorable characters that appear before the significant characters of the message. + + + + + Contains a count of the ignorable characters that appear after the significant characters of the message. + + + + + Contains the entry identifier of the originally intended recipient of an auto-forwarded message. + + + + + Contains the Hypertext Markup Language (HTML) version of the message text. + + + These properties contain the same message text as the + (PidTagBodyContentLocation), but in HTML. A message store that supports HTML indicates this by setting the + flag in its + (PidTagStoreSupportMask). Note is not defined in versions of + Mapidefs.h included with Microsoft® Exchange 2000 Server and earlier. If + is undefined, use the value 0x00010000 instead. + + + + + Contains the message body text in HTML format. + + + + + Contains the value of a MIME Content-Location header field. + + + To set the value of these properties, MIME clients should write the desired value to a Content-Location header + field on a MIME entity that maps to a message body. MIME readers should copy the value of a Content-Location + header field on such a MIME entity to the value of these properties + + + + + Contains the value of a MIME Content-Location header field. UNICODE compilation. + + + To set the value of these properties, MIME clients should write the desired value to a Content-Location header + field on a MIME entity that maps to a message body. MIME readers should copy the value of a Content-Location + header field on such a MIME entity to the value of these properties + + + + + Corresponds to the message ID field as specified in [RFC2822]. + + + These properties should be present on all e-mail messages. + + + + + Corresponds to the message ID field as specified in [RFC2822]. UNICODE compilation. + + + These properties should be present on all e-mail messages. + + + + + Contains the original message's PR_INTERNET_MESSAGE_ID (PidTagInternetMessageId) property value. + + + These properties must be set on all message replies. + + + + + Contains the original message's PR_INTERNET_MESSAGE_ID (PidTagInternetMessageId) property value. UNICODE compilation. + + + These properties should be present on all e-mail messages. + + + + + Contains the value of a Multipurpose Internet Mail Extensions (MIME) message's References header field. + + + To generate a References header field, clients must set these properties to the desired value. MIME writers must copy + the value of these properties to the References header field. To set the value of these properties, MIME clients must + write the desired value to a References header field. MIME readers must copy the value of the References header field + to these properties. MIME readers may truncate the value of these properties if it exceeds 64KB in length. + + + + + Contains the value of a Multipurpose Internet Mail Extensions (MIME) message's References header field. UNICODE compilation. + + + To generate a References header field, clients must set these properties to the desired value. MIME writers must copy + the value of these properties to the References header field. To set the value of these properties, MIME clients must + write the desired value to a References header field. MIME readers must copy the value of the References header field + to these properties. MIME readers may truncate the value of these properties if it exceeds 64KB in length. + + + + + Contains an ASN.1 content integrity check value that allows a message sender to protect message content from + disclosure to unauthorized recipients. + + + + + Indicates that a message sender has requested a message content conversion for a particular recipient. + + + + + Contains TRUE if this message should be returned with a report. + + + + + Contains an ASN.1 security token for a message. + + + + + Contains a diagnostic code that forms part of a nondelivery report. + + + + + Contains a diagnostic code that forms part of a nondelivery report. + + + + + + + + + Contains TRUE if a message sender wants notification of non-receipt for a specified recipient. + + + + + Contains an entry identifier for an alternate recipient designated by the sender. + + + + + + + + + Contains TRUE if the messaging system should use a fax bureau for physical delivery of this message. + + + + + Contains the mode of a report to be delivered to a particular message recipient upon completion of physical message + delivery or delivery by the message handling system. + + + + + + + + + Contains TRUE if a message sender requests the message transfer agent to attach a physical forwarding address for a + message recipient. + + + + + Contains TRUE if a message sender prohibits physical message forwarding for a specific recipient. + + + + + Contains an ASN.1 object identifier that is used for rendering message attachments. + + + + + This property contains an ASN.1 proof of delivery value. + + + + + This property contains TRUE if a message sender requests proof of delivery for a particular recipient. + + + + + Contains a message recipient's ASN.1 certificate for use in a report. + + + + + This property contains a message recipient's telephone number to call to advise of the physical delivery of a + message. UNICODE compilation. + + + + + This property contains a message recipient's telephone number to call to advise of the physical delivery of a + message. Non-UNICODE compilation. + + + + + Contains the recipient type for a message recipient. + + + + + This property contains the type of registration used for physical delivery of a message. + + + + + Contains TRUE if a message sender requests a reply from a recipient. + + + + + This property contains a binary array of delivery methods (service providers), in the order of a message sender's + preference. + + + + + Contains the message sender's entry identifier. + + + + + Contains the message sender's display name. UNICODE compilation. + + + + + Contains the message sender's display name. Non-UNICODE compilation. + + + + + Contains additional information for use in a report. UNICODE compilation. + + + + + Contains additional information for use in a report. Non-UNICODE compilation. + + + + + This property contains the type of a message recipient for use in a report. + + + + + Contains the message sender's search key. + + + + + Contains the message sender's e-mail address type. UNICODE compilation. + + + + + Contains the message sender's e-mail address type. Non-UNICODE compilation. + + + + + Contains the message sender's e-mail address, encoded in Unicode standard. + + + + + Contains the message sender's e-mail address, encoded in Non-Unicode standard. + + + + + Was originally meant to contain the current version of a message store. No longer supported. + + + + + Contains TRUE if a client application wants MAPI to delete the associated message after submission. + + + + + Contains an ASCII list of the display names of any blind carbon copy (BCC) message recipients, separated by + semicolons (;). UNICODE compilation. + + + + + Contains an ASCII list of the display names of any blind carbon copy (BCC) message recipients, separated by + semicolons (;). Non-UNICODE compilation. + + + + + Contains an ASCII list of the display names of any carbon copy (CC) message recipients, separated by semicolons + (;). UNICODE compilation. + + + + + Contains an ASCII list of the display names of any carbon copy (CC) message recipients, separated by semicolons + (;). Non-UNICODE compilation. + + + + + Contains a list of the display names of the primary (To) message recipients, separated by semicolons (;). UNICODE + compilation. + + + + + Contains a list of the display names of the primary (To) message recipients, separated by semicolons (;). + Non-UNICODE compilation. + + + + + Contains the display name of the folder in which a message was found during a search. UNICODE compilation. + + + + + Contains the display name of the folder in which a message was found during a search. Non-UNICODE compilation. + + + + + Contains the date and time a message was delivered. + + + + + Contains a bitmask of flags indicating the origin and current state of a message. + + + + + Contains the sum, in bytes, of the sizes of all properties on a message object. + + + + + Contains the entry identifier of the folder containing a folder or message. + + + + + Contains the entry identifier of the folder where the message should be moved after submission. + + + + + Contains TRUE if the sender of a message requests the correlation feature of the messaging system. + + + + + Contains the message transfer system (MTS) identifier used in correlating reports with sent messages. + + + + + Contains TRUE if a nondelivery report applies only to discrete members of a distribution list rather than the + entire list. + + + + + Contains TRUE if some transport provider has already accepted responsibility for delivering the message to this + recipient, and FALSE if the MAPI spooler considers that this transport provider should accept responsibility. + + + + + Contains the status of the message based on information available to the MAPI spooler. + + + + + Obsolete MAPI spooler property. No longer supported. + + + + + Contains a table of restrictions that can be applied to a contents table to find all messages that contain + recipient subobjects meeting the restrictions. + + + + + Contains a table of restrictions that can be applied to a contents table to find all messages that contain + attachment subobjects meeting the restrictions. + + + + + Contains a bitmask of flags indicating details about a message submission. + + + + + Contains a value used by the MAPI spooler in assigning delivery responsibility among transport providers. + + + + + Contains a value used by the MAPI spooler to track the progress of an outbound message through the outgoing + transport providers. + + + + + + + + + Contains a bitmask of property tags that define the status of a message. + + + + + Was originally meant to contain the message store version current at the time a message was created. No longer + supported. + + + + + Was originally meant to contain the message store version current at the time the message was last modified. No + longer supported. + + + + + When true then the message contains at least one attachment. + + + + + Contains a circular redundancy check (CRC) value on the message text. + + + + + Contains the message subject with any prefix removed. UNICODE compilation. + + + See https://msdn.microsoft.com/en-us/library/office/cc815282.aspx + + + + + Contains the message subject with any prefix removed. Non-UNICODE compilation. + + + + + Contains TRUE if PR_RTF_COMPRESSED has the same text content as PR_BODY for this message. + + + + + Contains the sum, in bytes, of the sizes of all properties on an attachment. + + + + + Contains a number that uniquely identifies the attachment within its parent message. + + + + + Contains a bitmask of flags for an attachment. + + + If the PR_ATTACH_FLAGS property is zero or absent, the attachment is to be processed by all applications. + + + + + Contains TRUE if the message requires preprocessing. + + + + + Contains an identifier for the message transfer agent (MTA) that originated the message. + + + + + Contains an ASN.1 proof of submission value. + + + + + The PR_ENTRYID property contains a MAPI entry identifier used to open and edit properties of a particular MAPI + object. + + + + + Contains the type of an object + + + + + Contains a bitmap of a full size icon for a form. + + + + + Contains a bitmap of a half-size icon for a form. + + + + + Specifies the hexadecimal string representation of the value of the PR_STORE_ENTRYID (PidTagStoreEntryId) property + on the shared folder. This is a property of a sharing message. + + + + + Contains the unique binary-comparable identifier (record key) of the message store in which an object resides. + + + + + Contains a unique binary-comparable identifier for a specific object. + + + + + Contains the mapping signature for named properties of a particular MAPI object. + + + + + Indicates the client's access level to the object. + + + + + Contains a value that uniquely identifies a row in a table. + + + + + Contains a value that indicates the type of a row in a table. + + + + + Contains a bitmask of flags indicating the operations that are available to the client for the object. + + + + + Contains a number that indicates which icon to use when you display a group of e-mail objects. + + + This property, if it exists, is a hint to the client. The client may ignore the value of this property. + + + + + Specifies the last verb executed for the message item to which it is related. + + + + + Contains the time when the last verb was executed. + + + + + Contains a unique identifier for a recipient in a recipient table or status table. + + + + + Contains the display name for a given MAPI object. UNICODE compilation. + + + + + Contains the value of the (PidTagDisplayName) property. Non-UNICODE compilation. + + + + + Contains the value of the (PidTagDisplayName) property. UNICODE compilation. + + + + + Specifies a bit field that describes the recipient status. + + + This property is not required. The following are the individual flags that can be set. + + + + + Contains the display name for a given MAPI object. Non-UNICODE compilation. + + + + + Contains the messaging user's e-mail address type, such as SMTP. UNICODE compilation. + + + These properties are examples of the base address properties common to all messaging users. + It specifies which messaging system MAPI uses to handle a given message. + This property also determines the format of the address string in the PR_EMAIL_ADRESS(PidTagEmailAddress). + The string it provides can contain only the uppercase alphabetic characters from A through Z and the numbers + from 0 through 9. + + + + + Contains the messaging user's e-mail address type such as SMTP. Non-UNICODE compilation. + + + + + Contains the messaging user's e-mail address. UNICODE compilation. + + + + + Contains the messaging user's SMTP e-mail address. Non-UNICODE compilation. + + + + + Contains the messaging user's SMTP e-mail address. UNICODE compilation. + + + + + Contains the messaging user's 7bit e-mail address. Non-UNICODE compilation. + + + + + Contains the messaging user's SMTP e-mail address. UNICODE compilation. + + + + + Contains the messaging user's e-mail address. Non-UNICODE compilation. + + + + + Contains a comment about the purpose or content of an object. UNICODE compilation. + + + + + Contains a comment about the purpose or content of an object. Non-UNICODE compilation. + + + + + Contains an integer that represents the relative level of indentation, or depth, of an object in a hierarchy table. + + + + + Contains the vendor-defined display name for a service provider. UNICODE compilation. + + + + + Contains the vendor-defined display name for a service provider. Non-UNICODE compilation. + + + + + Contains the creation date and time of a message. + + + + + Contains the date and time when the object or subobject was last modified. + + + + + Contains a bitmask of flags for message services and providers. + + + + + Contains the base file name of the MAPI service provider dynamic-link library (DLL). UNICODE compilation. + + + + + Contains the base file name of the MAPI service provider dynamic-link library (DLL). Non-UNICODE compilation. + + + + + Contains a binary-comparable key that identifies correlated objects for a search. + + + + + Contains a MAPIUID structure of the service provider that is handling a message. + + + + + Contains the zero-based index of a service provider's position in the provider table. + + + + + Contains the version of a form. UNICODE compilation. + + + + + Contains the version of a form. Non-UNICODE compilation. + + + + + Contains the name of a contact for information about a form. UNICODE compilation. + + + + + Contains the name of a contact for information about a form. Non-UNICODE compilation. + + + + + Contains the category of a form. UNICODE compilation. + + + + + Contains the category of a form. Non-UNICODE compilation. + + + + + Contains the subcategory of a form, as defined by a client application. UNICODE compilation. + + + + + Contains the subcategory of a form, as defined by a client application. Non-UNICODE compilation. + + + + + Contains a host map of available forms. + + + + + Contains TRUE if a form is to be suppressed from display by compose menus and dialog boxes. + + + + + Contains the display name for the object that is used to design the form. UNICODE compilation. + + + + + Contains the display name for the object that is used to design the form. Non-UNICODE compilation. + + + + + Contains TRUE if a message should be composed in the current folder. + + + + + Contains TRUE if a message store is the default message store in the message store table. + + + + + Contains a bitmask of flags that client applications query to determine the characteristics of a message store. + + + + + Contains a flag that describes the state of the message store. + + + + + Contains a bitmask of flags that client applications should query to determine the characteristics of a message store. + + + + + Was originally meant to contain the search key of the interpersonal message (IPM) root folder. No longer supported + + + + + Was originally meant to contain the search key of the standard Outbox folder. No longer supported. + + + + + Was originally meant to contain the search key of the standard Deleted Items folder. No longer supported. + + + + + Was originally meant to contain the search key of the standard Sent Items folder. No longer supported. + + + + + Contains a provider-defined MAPIUID structure that indicates the type of the message store. + + + + + Contains a table of a message store's receive folder settings. + + + + + Contains a bitmask of flags that indicate the validity of the entry identifiers of the folders in a message store. + + + + + Contains the entry identifier of the root of the IPM folder subtree in the message store's folder tree. + + + + + Contains the entry identifier of the standard interpersonal message (IPM) Outbox folder. + + + + + Contains the entry identifier of the standard IPM Deleted Items folder. + + + + + Contains the entry identifier of the standard IPM Sent Items folder. + + + + + Contains the entry identifier of the user-defined Views folder. + + + + + Contains the entry identifier of the predefined common view folder. + + + + + Contains the entry identifier for the folder in which search results are typically created. + + + + + When TRUE, forces the serialization of SMTP and POP3 authentication requests such that the POP3 account is + authenticated before the SMTP account. + + + + + Contains a bitmask of flags describing capabilities of an address book container. + + + + + Contains a constant that indicates the folder type. + + + + + Contains the number of messages in a folder, as computed by the message store. + + + + + Contains the number of unread messages in a folder, as computed by the message store. + + + + + Contains an embedded table object that contains dialog box template entry identifiers. + + + + + Contains an embedded display table object. + + + + + Contains a container object that is used for advanced searches. + + + + + Contains TRUE if the entry in the one-off table can be selected. + + + + + Contains TRUE if a folder contains subfolders. + + + + + Contains a 32-bit bitmask of flags that define folder status. + + + + + Contains a string value for use in a property restriction on an address book container contents table. UNICODE + compilation + + + + + Contains a string value for use in a property restriction on an address book container contents table. Non-UNICODE + compilation + + + + + No longer supported + + + + + Contains an embedded hierarchy table object that provides information about the child containers. + + + + + Contains an embedded contents table object that provides information about a container. + + + + + Contains an embedded contents table object that provides information about a container. + + + + + Contains the template entry identifier for a default distribution list. + + + + + Contains the template entry identifier for a default messaging user object. + + + + + Contains a text string describing the type of a folder. Although this property is generally ignored, versions of + Microsoft® Exchange Server prior to Exchange Server 2003 Mailbox Manager expect this property to be present. + UNICODE compilation. + + + + + Contains a text string describing the type of a folder. Although this property is generally ignored, versions of + Microsoft® Exchange Server prior to Exchange Server 2003 Mailbox Manager expect this property to be present. + Non-UNICODE compilation. + + + + + Unknown + + + + + Contains an address book provider's MAPIUID structure. + + + + + Contains the entry identifier of a folder's default view. + + + + + Contains the count of items in the associated contents table of the folder. + + + + + was originally meant to contain an ASN.1 object identifier specifying how the attachment should be handled during + transmission. No longer supported. + + + + + Contains the content identification header of a MIME message attachment. This property is used for MHTML support. + It represents the content identification header for the appropriate MIME body part. UNICODE compilation. + + + + + Contains the content identification header of a MIME message attachment. This property is used for MHTML support. + It represents the content identification header for the appropriate MIME body part. Non-UNICODE compilation. + + + + + Contains the content location header of a MIME message attachment. This property is used for MHTML support. It + represents the content location header for the appropriate MIME body part. UNICODE compilation. + + + + + Contains the content location header of a MIME message attachment. This property is used for MHTML support. It + represents the content location header for the appropriate MIME body part. UNICODE compilation. + + + + + Contains an attachment object typically accessed through the OLE IStorage:IUnknown interface. + + + + + Contains binary attachment data typically accessed through the COM IStream:IUnknown interface. + + + + + Contains an ASN.1 object identifier specifying the encoding for an attachment. + + + + + Contains a filename extension that indicates the document type of an attachment. UNICODE compilation. + + + + + Contains a filename extension that indicates the document type of an attachment. Non-UNICODE compilation. + + + + + Contains an attachment's base filename and extension, excluding path. UNICODE compilation. + + + + + Contains an attachment's base filename and extension, excluding path. Non-UNICODE compilation. + + + + + Contains a MAPI-defined constant representing the way the contents of an attachment can be accessed. + + + + + Contains an attachment's long filename and extension, excluding path. UNICODE compilation. + + + + + Contains an attachment's long filename and extension, excluding path. Non-UNICODE compilation. + + + + + Contains an attachment's fully qualified path and filename. UNICODE compilation. + + + + + Contains an attachment's fully qualified path and filename. Non-UNICODE compilation. + + + + + Contains a Microsoft Windows metafile with rendering information for an attachment. + + + + + Contains an ASN.1 object identifier specifying the application that supplied an attachment. + + + + + Contains an offset, in characters, to use in rendering an attachment within the main message text. + + + + + Contains the name of an attachment file modified so that it can be correlated with TNEF messages. UNICODE + compilation. + + + + + Contains the name of an attachment file modified so that it can be correlated with TNEF messages. Non-UNICODE + compilation. + + + + + Contains an attachment's fully qualified long path and filename. UNICODE compilation. + + + + + Contains an attachment's fully qualified long path and filename. Non-UNICODE compilation. + + + + + Contains formatting information about a Multipurpose Internet Mail Extensions (MIME) attachment. UNICODE + compilation. + + + + + Contains formatting information about a Multipurpose Internet Mail Extensions (MIME) attachment. Non-UNICODE + compilation. + + + + + Provides file type information for a non-Windows attachment. + + + + + Contains a value used to associate an icon with a particular row of a table. + + + + + Contains the PR_ENTRYID (PidTagEntryId), expressed as a permanent entry ID format. + + + + + These properties appear on address book objects. Obsolete. + + + + + Contains the type of an entry, with respect to how the entry should be displayed in a row in a table for the Global + Address List. + + + + + Contains the recipient's account name. UNICODE compilation. + + + + + Contains the recipient's account name. Non-UNICODE compilation. + + + + + Contains a list of entry identifiers for alternate recipients designated by the original recipient. + + + + + Contains a telephone number that the message recipient can use to reach the sender. UNICODE compilation. + + + + + Contains a telephone number that the message recipient can use to reach the sender. Non-UNICODE compilation. + + + + + Contains TRUE if message conversions are prohibited by default for the associated messaging user. + + + + + The DiscloseRecipients field represents a PR_DISCLOSE_RECIPIENTS MAPI property. + + + + + Contains a generational abbreviation that follows the full name of the recipient. UNICODE compilation. + + + + + Contains a generational abbreviation that follows the full name of the recipient. Non-UNICODE compilation. + + + + + Contains the first or given name of the recipient. UNICODE compilation. + + + + + Contains the first or given name of the recipient. Non-UNICODE compilation. + + + + + Contains a government identifier for the recipient. UNICODE compilation. + + + + + Contains a government identifier for the recipient. Non-UNICODE compilation. + + + + + Contains the primary telephone number of the recipient's place of business. UNICODE compilation. + + + + + Contains the primary telephone number of the recipient's place of business. Non-UNICODE compilation. + + + + + Contains the primary telephone number of the recipient's home. UNICODE compilation. + + + + + Contains the primary telephone number of the recipient's home. Non-UNICODE compilation. + + + + + Contains the initials for parts of the full name of the recipient. UNICODE compilation. + + + + + Contains the initials for parts of the full name of the recipient. Non-UNICODE compilation. + + + + + Contains a keyword that identifies the recipient to the recipient's system administrator. UNICODE compilation. + + + + + Contains a keyword that identifies the recipient to the recipient's system administrator. Non-UNICODE compilation. + + + + + Contains a value that indicates the language in which the messaging user is writing messages. UNICODE compilation. + + + + + Contains a value that indicates the language in which the messaging user is writing messages. Non-UNICODE + compilation. + + + + + Contains the location of the recipient in a format that is useful to the recipient's organization. UNICODE + compilation. + + + + + Contains the location of the recipient in a format that is useful to the recipient's organization. Non-UNICODE + compilation. + + + + + Contains TRUE if the messaging user is allowed to send and receive messages. + + + + + Contains the common name of the message handling system. UNICODE compilation. + + + + + Contains the common name of the message handling system. Non-UNICODE compilation. + + + + + Contains an organizational ID number for the contact, such as an employee ID number. UNICODE compilation. + + + + + Contains an organizational ID number for the contact, such as an employee ID number. Non-UNICODE compilation. + + + + + Contains the last or surname of the recipient. UNICODE compilation. + + + + + Contains the last or surname of the recipient. Non-UNICODE compilation. + + + + + Contains the original entry identifier for an entry copied from an address book to a personal address book or other + writeable address book. + + + + + Contains the original display name for an entry copied from an address book to a personal address book or other + writable address book. UNICODE compilation. + + + + + Contains the original display name for an entry copied from an address book to a personal address book or other + writable address book. Non-UNICODE compilation. + + + + + Contains the original search key for an entry copied from an address book to a personal address book or other + writeable address book. + + + + + Contains the recipient's postal address. UNICODE compilation. + + + + + Contains the recipient's postal address. Non-UNICODE compilation. + + + + + Contains the recipient's company name. UNICODE compilation. + + + + + Contains the recipient's company name. Non-UNICODE compilation. + + + + + Contains the recipient's job title. UNICODE compilation. + + + + + Contains the recipient's job title. Non-UNICODE compilation. + + + + + Contains a name for the department in which the recipient works. UNICODE compilation. + + + + + Contains a name for the department in which the recipient works. Non-UNICODE compilation. + + + + + Contains the recipient's office location. UNICODE compilation. + + + + + Contains the recipient's office location. Non-UNICODE compilation. + + + + + Contains the recipient's primary telephone number. UNICODE compilation. + + + + + Contains the recipient's primary telephone number. Non-UNICODE compilation. + + + + + Contains a secondary telephone number at the recipient's place of business. UNICODE compilation. + + + + + Contains a secondary telephone number at the recipient's place of business. Non-UNICODE compilation. + + + + + Contains the recipient's cellular telephone number. UNICODE compilation. + + + + + Contains the recipient's cellular telephone number. Non-UNICODE compilation. + + + + + Contains the recipient's radio telephone number. UNICODE compilation. + + + + + Contains the recipient's radio telephone number. Non-UNICODE compilation. + + + + + Contains the recipient's car telephone number. UNICODE compilation. + + + + + Contains the recipient's car telephone number. Non-UNICODE compilation. + + + + + Contains an alternate telephone number for the recipient. UNICODE compilation. + + + + + Contains an alternate telephone number for the recipient. Non-UNICODE compilation. + + + + + Contains a recipient's display name in a secure form that cannot be changed. UNICODE compilation. + + + + + Contains a recipient's display name in a secure form that cannot be changed. Non-UNICODE compilation. + + + + + Contains the recipient's pager telephone number. UNICODE compilation. + + + + + Contains the recipient's pager telephone number. Non-UNICODE compilation. + + + + + Contains an ASN.1 authentication certificate for a messaging user. + + + + + Contains the telephone number of the recipient's primary fax machine. UNICODE compilation. + + + + + Contains the telephone number of the recipient's primary fax machine. Non-UNICODE compilation. + + + + + Contains the telephone number of the recipient's business fax machine. UNICODE compilation. + + + + + Contains the telephone number of the recipient's business fax machine. Non-UNICODE compilation. + + + + + Contains the telephone number of the recipient's home fax machine. UNICODE compilation. + + + + + Contains the telephone number of the recipient's home fax machine. Non-UNICODE compilation. + + + + + Contains the name of the recipient's country/region. UNICODE compilation. + + + + + Contains the name of the recipient's country/region. Non-UNICODE compilation. + + + + + Contains the name of the recipient's locality, such as the town or city. UNICODE compilation. + + + + + Contains the name of the recipient's locality, such as the town or city. Non-UNICODE compilation. + + + + + Contains the name of the recipient's state or province. UNICODE compilation. + + + + + Contains the name of the recipient's state or province. Non-UNICODE compilation. + + + + + Contains the recipient's street address. UNICODE compilation. + + + + + Contains the recipient's street address. Non-UNICODE compilation. + + + + + Contains the postal code for the recipient's postal address. UNICODE compilation. + + + + + Contains the postal code for the recipient's postal address. Non-UNICODE compilation. + + + + + Contains the number or identifier of the recipient's post office box. UNICODE compilation. + + + + + Contains the number or identifier of the recipient's post office box. Non-UNICODE compilation. + + + + + Contains the recipient's telex number. UNICODE compilation. + + + + + Contains the recipient's telex number. Non-UNICODE compilation. + + + + + Contains the recipient's ISDN-capable telephone number. UNICODE compilation. + + + + + Contains the recipient's ISDN-capable telephone number. Non-UNICODE compilation. + + + + + Contains the telephone number of the recipient's administrative assistant. UNICODE compilation. + + + + + Contains the telephone number of the recipient's administrative assistant. Non-UNICODE compilation. + + + + + Contains a secondary telephone number at the recipient's home. UNICODE compilation. + + + + + Contains a secondary telephone number at the recipient's home. Non-UNICODE compilation. + + + + + Contains the name of the recipient's administrative assistant. UNICODE compilation. + + + + + Contains the name of the recipient's administrative assistant. Non-UNICODE compilation. + + + + + Contains TRUE if the recipient can receive all message content, including Rich Text Format (RTF) and Object Linking + and Embedding (OLE) objects. + + + + + Contains a list of identifiers of message store providers in the current profile. + + + + + Contains a list of identifiers for address book providers in the current profile. + + + + + Contains a list of identifiers of transport providers in the current profile. + + + + + Contains TRUE if a messaging user profile is the MAPI default profile. + + + + + Contains a list of entry identifiers for address book containers that are to be searched to resolve names. + + + + + Contains the entry identifier of the address book container to display first. + + + + + Contains the entry identifier of the address book container to use as the personal address book (PAB). + + + + + The MAPI property PR_FILTERING_HOOKS. + + + + + Contains the unicode name of a message service as set by the user in the MapiSvc.inf file. + + + + + Contains the ANSI name of a message service as set by the user in the MapiSvc.inf file. + + + + + Contains the unicode filename of the DLL containing the message service provider entry point function to call for + configuration. + + + + + Contains the ANSI filename of the DLL containing the message service provider entry point function to call for + configuration. + + + + + Contains the MAPIUID structure for a message service. + + + + + Contains a list of MAPIUID structures that identify additional profile sections for the message service. + + + + + Contains a list of identifiers of message services in the current profile. + + + + + Contains a ANSI list of the files that belong to the message service. + + + + + Contains a ANSI list of the files that belong to the message service. + + + + + Contains a list of unicode filenames that are to be deleted when the message service is uninstalled. + + + + + Contains a list of filenames that are to be deleted when the message service is uninstalled. + + + + + Contains a list of entry identifiers for address book containers explicitly configured by the user. + + + + + Contains the ANSI name of the profile. + + + + + Contains the unicode name of the profile. + + + + + Contains the display name for a service provider's identity as defined within a messaging system. UNICODE + compilation. + + + + + Contains the display name for a service provider's identity as defined within a messaging system. Non-UNICODE + compilation. + + + + + Contains the entry identifier for a service provider's identity as defined within a messaging system. + + + + + Contains a bitmask of flags indicating the methods in the IMAPIStatus interface that are supported by the status + object. + + + + + Contains a value indicating the service provider type. + + + + + Contains a bitmask of flags indicating the current status of a session resource. All service providers set status + codes as does MAPI to report on the status of the subsystem, the MAPI spooler, and the integrated address book. + + + + + Contains the search key for a service provider's identity as defined within a messaging system. + + + + + Contains the entry identifier of a transport's tightly coupled message store. + + + + + Contains a path to the service provider's server. UNICODE compilation. + + + + + Contains a path to the service provider's server. Non-UNICODE compilation. + + + + + Contains an ASCII message indicating the current status of a session resource. UNICODE compilation. + + + + + Contains an ASCII message indicating the current status of a session resource. Non-UNICODE compilation. + + + + + Was originally meant to contain TRUE if the message transfer system (MTS) allows X.400 deferred delivery + cancellation. No longer supported. + + + + + Was originally meant to contain the entry identifier that a remote transport provider furnishes for its header + folder. No longer supported. + + + + + Contains a number indicating the status of a remote transfer. + + + + + Contains an ASCII string indicating the status of a remote transfer. UNICODE compilation. + + + + + Contains an ASCII string indicating the status of a remote transfer. Non-UNICODE compilation. + + + + + Contains TRUE if the remote viewer is allowed to call the IMAPIStatus::ValidateState method. + + + + + Contains a bitmask of flags governing the behavior of a control used in a dialog box built from a display table. + + + + + Contains a pointer to a structure for a control used in a dialog box. + + + + + Contains a value indicating a control type for a control used in a dialog box. + + + + + Contains the width of a dialog box control in standard Windows dialog units. + + + + + Contains the height of a dialog box control in standard Windows dialog units. + + + + + Contains the x coordinate of the starting position (the upper-left corner) of a dialog box control, in standard + Windows dialog units. + + + + + Contains the y coordinate of the starting position (the upper-left corner) of a dialog box control, in standard + Windows dialog units. + + + + + Contains a unique identifier for a control used in a dialog box. + + + + + Indicates the page of a display template to display first. + + + + + Contains the Windows LCID of the end user who created this message. + + + + + Indicates the code page used for (PidTagBody) or + (PidTagBodyHtml) properties. + + + + + The creators address type + + + + + The creators e-mail address + + + + + The creators display name + + + + + The senders display name + + + + + Indicates the type of Message object to which this attachment is linked. + + + Must be 0, unless overridden by other protocols that extend the + Message and Attachment Object Protocol as noted in [MS-OXCMSG]. + + + + + Indicates special handling for this Attachment object. + + + Must be 0x00000000, unless overridden by other protocols that extend the Message + and Attachment Object Protocol as noted in [MS-OXCMSG] + + + + + Indicates whether an attachment is hidden from the end user. + + + + + Specifies the format for an editor to use to display a message. + + + By default, mail messages (with the message class IPM.Note or with a custom message + class derived from IPM.Note) sent from a POP3/SMTP mail account are sent in the Transport + Neutral Encapsulation Format (TNEF). The PR_MSG_EDITOR_FORMAT property can be used to enforce + only plain text, and not TNEF, when sending a message. If PR_MSG_EDITOR_FORMAT is set to + EDITOR_FORMAT_PLAINTEXT, the message is sent as plain text without TNEF. If PR_MSG_EDITOR_FORMAT + is set to EDITOR_FORMAT_RTF, TNEF encoding is implicitly enabled, and the message is sent by using + the default Internet format that is specified in the Outlook client. + + + + + Used to hold exactly one property tag + + + + + The 2 byte identifier + + + + + The 2 byte + + + + + Returns the PropertyTag as a readable string, e.g. __substg1.0_0037001F + + + + + + Creates this object and sets all its properties + + The id + The + + + + Contains the e-mail address for the messaging user who receives the message. + + + These properties are examples of the address properties for the messaging user who receives the message. They must + be set by the incoming transport provider. + + + + + Creates this object and sets all it's needed properties + + The full E-mail address + The displayname for the + The + + + + Writes all properties either as a or as a collection in + a stream, this depends on the + + + See the class it's method for the logic + that is used to determine this + + The + + + + Contains the e-mail address for the messaging user who is represented by the receiving user. + + + These properties are examples of the address properties for the messaging user who is being represented by the + receiving user. They must be set by the incoming transport provider, which is also responsible for authorization or + verification of the delegate. If no messaging user is being represented, these properties should be set to the + e-mail address contained in the PR_RECEIVED_BY_EMAIL_ADDRESS (PidTagReceivedByEmailAddress) property. + + + + + Creates this object and sets all it's needed properties + + The full E-mail address + The displayname for the + The + + + + Writes all properties either as a or as a collection in + a stream, this depends on the + + + See the class it's method for the logic + that is used to determine this + + The + + + + Contains a list of objects that are added to a + + + + + Add's an + + The full E-mail address + The displayname for the + The + + + + + + Add's an + + The full E-mail address + The displayname for the + The + + + + + + Add's an + + The full E-mail address + The displayname for the + The + + + + + + Add's an + + The full E-mail address + The displayname for the + The + The + + + + + + Writes the objects to the given + and it will set all the needed properties + + The root + + Total size of the written objects and it's + + + + + This class represents a recipient + + + + + Returns or sets a unique identifier for a recipient in a recipient table or status table. + + + + + The + + + + + The + + + + + Contains the type of email object. + + + + + Contains the display type. + + + + + Creates a new recipient object and sets all its properties + + Contains a unique identifier for a recipient in a recipient table or status table. + The full E-mail address + The displayname for the + The + The + + + + + + Writes all properties either as a or as a collection in + a stream to the given , this depends + on the + + + See the class it's method for the logic + that is used to determine this + + The + + Total size of the written object and it's + + + + + Contains the e-mail address for the messaging user represented by the sender. + + + These properties are examples of the address properties for the messaging user who is being represented by the + user. They must be set by the incoming transport provider, which is also responsible for + authorization or + verification of the delegate. If no messaging user is being represented, these properties should be set to the + e-mail address contained in the PR_RECEIVED_BY_EMAIL_ADDRESS (PidTagReceivedByEmailAddress) property. + + + + + Creates this object and sets all it's needed properties + + The full E-mail address + The displayname for the + The + + + + Writes all properties either as a or as a collection in + a stream, this depends on the + + + See the class it's method for the logic + that is used to determine this + + The + + + + Contains the message sender's e-mail address. + + + These properties are examples of the address properties for the message sender. They must be set by the outgoing + transport provider, which should never propagate any previously existing values. + + + + + + + + + + A flag that indicates whether the server can look up an address in the + address book + + + + + Set to true when the sender is also the creator of the message (default true) + + + + + Creates this object and sets all it's needed properties + + The full E-mail address + The displayname for the + The + + Indicates that the address + can be lookup in the addressbook. This parameter is only usefull when opening E-mails in an Exchange environment + Set to true when the sender is also the creator of the message (default true) + + + + Writes all properties either as a or as a collection in + a stream, this depends on the + + + See the class it's method for the logic + that is used to determine this + + The + + + + The properties stream contained inside an Attachment storage object + + + + + Creates this object + + + + + Creates this object and reads all the properties from + the given + + The + + + + Writes all properties either as a or as a collection in + a stream to the given storage, this depends + on the + + + See the class it's method for the logic + that is used to determine this + + The + + Total size of the written + + + + + The properties stream contained inside an Embedded Message storage object + + + + + The ID to use for naming the next Recipient object storage if one is created inside the .msg file + + + + + The ID to use for naming the next Attachment object storage if one is created inside the .msg file + + + + + The number of Recipient objects + + + + + The number of Attachment objects + + + + + Creates this object and sets all its properties + + + The ID to use for naming the next Recipient object storage if one is created inside the + .msg file. If no Recipient object storages are contained in the .msg file, this field MUST be set to 0 + + + The ID to use for naming the next Attachment object storage if one is created inside the + .msg file. If no Attachment object storages are contained in the .msg file, this field MUST be set to 0 + + The number of Recipient objects + The number of Attachment objects + + + + Create this object and reads all the properties from + the given + + The + + + + Writes all properties either as a or as a collection in + a stream to the given , this depends + on the + + + See the class it's method for the logic + that is used to determine this + + The + + Total size of the written + + + + + The entry stream MUST be named "__substg1.0_00030102" and consist of 8-byte entries, one for each + named property being stored. The properties are assigned unique numeric IDs (distinct from any property + ID assignment) starting from a base of 0x8000. The IDs MUST be numbered consecutively, like an array. + In this stream, there MUST be exactly one entry for each named property of the Message object or any of + its subobjects. The index of the entry for a particular ID is calculated by subtracting 0x8000 from it. + For example, if the ID is 0x8005, the index for the corresponding 8-byte entry would be 0x8005 – 0x8000 = 5. + The index can then be multiplied by 8 to get the actual byte offset into the stream from where to start + reading the corresponding entry. + + + See https://msdn.microsoft.com/en-us/library/ee159689(v=exchg.80).aspx + + + + + Creates this object + + + + + Creates this object and reads all the objects from + the given + + The that containts the + + + + Writes all the 's as a to the + given + + The + + + + Represents one item in the stream + + + + + Name Identifier/String Offset (4 bytes): If this property is a numerical named property (as specified by + the Property Kind subfield of the Index and Kind Information field), this value is the LID part of the + PropertyName structure, as specified in [MS-OXCDATA] section 2.6.1. If this property is a string named + property, this value is the offset in bytes into the strings stream where the value of the Name field of + the PropertyName structure is located. + + + + + + + + + + The following structure specifies the stream indexes and whether the property is a numerical named + property or a string named property + + + + + Creates this object and reads all the properties from the given + + The + + + + Creates this object and sets all it's needed properties + + + + + + + Writes all the internal properties to the given + + + + + + 2.2.3.1.2.1 Index and Kind Information + The following structure specifies the stream indexes and whether the property is a numerical named + property or a string named property. + + + + + Sequentially increasing, zero-based index. This MUST be 0 for the first + named property, 1 for the second, and so on. + + + + + Index into the GUID stream. The possible values are shown in the following table.
+ - 1 Always use the PS_MAPI property set, as specified in [MS-OXPROPS] section 1.3.2. No GUID is stored in
+ the GUID stream.
+ - 2 Always use the PS_PUBLIC_STRINGS property set, as specified in [MS-OXPROPS]
+ section 1.3.2. No GUID is stored in the GUID stream.
+ - >= 3 Use Value minus 3 as the index of the GUID into the GUID stream.For example, if the GUID index is 5,
+ the third GUID(5 minus 3, resulting in a zero-based index of 2) is used as the GUID for the name
+ property being derived. +
+
+ + + Bit indicating the type of the property; zero (0) if numerical named property + and 1 if string named property. + + + + + Converts the given to an unsigned integer + + + + + + + + + Creates this object and reads all the properties from the given + + The + + + + Creates this object and sets all it's needed properties + + + + + + + + Writes all the internal properties to the given + + + + + + The GUID stream MUST be named "__substg1.0_00020102". It MUST store the property set GUID + part of the property name of all named properties in the Message object or any of its subobjects, + except for those named properties that have PS_MAPI or PS_PUBLIC_STRINGS, as described in [MSOXPROPS] + section 1.3.2, as their property set GUID. + The GUIDs are stored in the stream consecutively like an array. If there are multiple named properties + that have the same property set GUID, then the GUID is stored only once and all the named + properties will refer to it by its index + + + + + Creates this object + + + + + Creates this object and reads all the objects from + the given + + The that containts the + + + + Writes all the 's as a to the + given + + The + + + + + + + + + The offset index for a + + + + + Creates this object + + + + + + + + Adds a + + + Only support for properties by ID for now. + + + + + + + Writes the properties to the + + + + + Unfortunately this is going to have to be used after we already written the top level properties. + + + + + Generates the stream strings + + + + + + + + + The properties stream contained inside an Recipient storage object. + + + + + Creates this object + + + + + Creates this object and reads all the properties + from the given + + The + + + + Writes all properties either as a or as a collection in + a stream to the given storage, this depends + on the + + + See the class it's method for the logic + that is used to determine this + + The + + Total size of the written + + + + + The string stream MUST be named "__substg1.0_00040102". It MUST consist of one entry for each + string named property, and all entries MUST be arranged consecutively, like in an array. + As specified in section 2.2.3.1.2, the offset, in bytes, to use for a particular property is stored in the + corresponding entry in the entry stream.That is a byte offset into the string stream from where the + entry for the property can be read.The strings MUST NOT be null-terminated. Implementers can add a + terminating null character to the string + + + See https://msdn.microsoft.com/en-us/library/ee124409(v=exchg.80).aspx + + + + + Creates this object + + + + + Creates this object and reads all the objects + from the given + + The that contains the + + + + Writes all the 's as a to the + given + + The + + + + Represents one item in the stream + + + + + The length of the following field in bytes. + + + + + A Unicode string that is the name of the property. A new entry MUST always start + on a 4 byte boundary; therefore, if the size of the Name field is not an exact multiple of 4, and + another Name field entry occurs after it, null characters MUST be appended to the stream after it + until the 4-byte boundary is reached.The Name Length field for the next entry will then start at + the beginning of the next 4-byte boundary + + + + + Creates this object and reads all the properties from the given + + The + + + + Creates this object and sets all it's needed properties + + + + + + Writes all the internal properties to the given + + + + + + Extract 4 from the given until the result is smaller + then 4 and then returns this result; + + + + + + + The properties stream contained inside the top level of the .msg file, which represents the Message object itself. + + + + + The ID to use for naming the next Recipient object storage if one is created inside the .msg file + + + + + The ID to use for naming the next Attachment object storage if one is created inside the .msg file + + + + + The number of Recipient objects + + + + + The number of Attachment objects + + + + + Create this object and reads all the properties from + the given + + The + + + + Creates this object + + + + + Writes all properties either as a or as a collection in + a stream to the given , this depends + on the + + + See the class it's method for the logic + that is used to determine this + + The + Used to calculate the exact size of the + + Total size of the written + + + + + An Address Book EntryID structure specifies several types of Address Book objects, including + individual users, distribution lists, containers, and templates. + + + See https://msdn.microsoft.com/en-us/library/ee160588(v=exchg.80).aspx + + + + + Flags (4 bytes): This value MUST be set to 0x00000000. Bits in this field indicate under + + + + + The X500 DN of the Address Book object. + + + A distinguished name (DN), in Teletex form, of an object that is in an address book. An X500 DN can be more limited + in the size and number of relative distinguished names (RDNs) than a full DN. + + + + + The packet version of the CLSID structure represents a class identifier (CLSID) in a serialized manner. + + + + + Data1 (4 bytes): This MUST be identical in meaning to the Data1 field specified in [MS-DTYP] section 2.3.4. + + + + + Data2 (2 bytes): This MUST be identical in meaning to the Data2 field specified in [MS-DTYP] section 2.3.4. + + + + + Data3 (2 bytes): This MUST be identical in meaning to the Data3 field specified in [MS-DTYP] section 2.3.4. + + + + + Data4 (8 bytes): This MUST be identical in meaning to the Data4 field specified in [MS-DTYP] section 2.3.4. + + + + + Creatis this object and sets all it properties + + + + + + Returns , , , as + a + + + + + The PropertyName Structure + + + See https://msdn.microsoft.com/en-us/library/ee158295(v=exchg.80).aspx + + + + + This should be the ID of the built in property name we are attaching to. + + + + + The possible values for the Kind field are in the following table. + + + + + The value of this field is equal to the number of bytes in the Name string that follows it. This field is present + only if the value of the field is equal to + + + Optional + + + + + This field is present only if is equal to . The value is a + Unicode (UTF-16 format) string, followed by two zero bytes as terminating null characters, that identifies the + property within its property set. + + + Optional + + + + + A + + + + + A One-Off EntryID structure specifies a set of data representing recipients + that do not exist in the directory. All information about a one-off recipient + is contained in the EntryID. + + + See https://msdn.microsoft.com/en-us/library/ee202811(v=exchg.80).aspx + + + + + + + + + + A flag that indicates whether the server can look up an address in the + address book + + + + + Creates this object and sets all it's needed properties + + The full E-mail address + The displayname for the + The + + + + + + Returns this class as a byte array + + + + + The properties inside an msg file + + + See https://msdn.microsoft.com/en-us/library/ee178759%28v=exchg.80%29.aspx + + + + + Reads all the objects from the given + + + + + + Writes all properties either as a or as a collection in + a stream to the given , this depends + on the + + The + The + Used to calculate the exact size of the + + Total size of the written + + + + + Adds a property + + The + The value for the mapi tag + + the flags to set on the property, default + and + + Raised when is null + + + + Adds a property that has been read from the propertiesstream + + The id of the property + The + + + the flags to set on the property, default + and + + Raised when is not 8 bytes + + + + Adds a CFStream and converts it into a property + + The + + Raised when the does not start with + "__substg1.0_" + + + + + Adds a property when it not exists, otherwise it is replaced + + The + The value for the mapi tag + + the flags to set on the property, default + and + + Raised when is null + + + + A property inside the MSG file + + + + + The id of the property + + + + + Returns the Property as a readable string + + + + + + Returns the Property as a readable string without the streamprefix and type + + + + + + The + + + + + The property flags that have been set + in its raw form + + + + + Returns true when this property is part of a multivalue property + + + + + The property flags that have been set + as a readonly collection + + + + + The property data + + + + + Returns as an integer when is set to + , + or + + Raised when the is not or + + + + + Returns as a single when is set to + + + Raised when the is not + + + + Returns as a single when is set to + + + Raised when the is not + + + + Returns as a decimal when is set to + + + Raised when the is not + + + + Returns as a datetime when is set to + + or + + Raised when the is not set to or + + + + + Returns as a boolean when is set to + + Raised when the is not set to + + + + Returns as a boolean when is set to + + + Raised when the is not set to + + + + Returns as a string when is set to + or + + Raised when the is not set to or + + + + Returns as a Guid when is set to + + + Raised when the is not set to + + + + Returns as a byte[] when is set to + + + Raised when the is not set to + + + + Returns as an readonly collection of integers when is set to + or + + Raised when the is not set to + + + + Returns as an readonly collection of floats when is set to + or + + Raised when the is not set to + + + + Returns as an readonly collection of decimals when is set to + + + + + + Returns as an readonly collection of datetime when is set to + or + + + + + Returns as an readonly collection of datetime when is set to + + + + + + Returns as an readonly collection of strings when is set to + + + + + + Returns as an readonly collection of byte arrays when is set to + + + + + + Converts a byte array to a decimal + + The byte array + The offset to start reading + + + + + Creates this object and sets all its propertues + + The id of the property + The + The property data + Set to true to indicate that this property is part of a + multivalue property + + + + Creates this object and sets all its propertues + + The id of the property + The + The + The property data + Set to true to indicate that this property is part of a + multivalue property + + + + Creates this object and sets all its propertues + + The id of the property + The + The + The property data + Set to true to indicate that this property is part of a + multivalue property + + + + An array of RecipientRow structures, as specified in [MS-OXCDATA] section 2.8.3. + Each structure specifies an unsendable attendee. The RowCount field specifies the + number of structures contained in this field. For details about properties that can + be set on RecipientRow structures for Calendar objects and meeting-related objects, + see section 2.2.4.10. + + + See https://msdn.microsoft.com/en-us/library/ee179606(v=exchg.80).aspx + + + + + The or null when not available + + + + + The + + + + + The address prefix used + + + + + The + + + + + This field MUST be present when the field of the RecipientFlags + field is set to X500DN (0x1) and MUST NOT be present otherwise. This value specifies the X500 DN of + this recipient (1). + + + A distinguished name (DN), in Teletex form, of an object that is in an address book. An X500 DN can be more limited + in the size and number of relative distinguished names (RDNs) than a full DN. + + + + + This field MUST be present when the field of the RecipientFlags field is set to + PersonalDistributionList1 (0x6) or PersonalDistributionList2 (0x7). This field MUST + NOT be present otherwise. This value specifies the size of the EntryID field. + + + + + This field MUST be present when the field of the RecipientFlags field is set to + PersonalDistributionList1 (0x6) or PersonalDistributionList2 (0x7). This field MUST NOT be present otherwise. The + number of bytes in this field MUST be the same as specified in the EntryIdSize field. This array specifies the + address book EntryID structure, as specified in section 2.2.5.2, of the distribution list. + + + + + This field MUST be present when the field of the RecipientFlags field is set to + PersonalDistributionList1 (0x6) or PersonalDistributionList2 (0x7). This field MUST + NOT be present otherwise. This value specifies the size of the SearchKey field. + + + + + This field is used when the field of the RecipientFlags field is set to + PersonalDistributionList1 (0x6) or PersonalDistributionList2 (0x7). This field MUST + NOT be present otherwise. The number of bytes in this field MUST be the same as what + is specified in the SearchKeySize field and can be 0. This array specifies the search + key of the distribution list. + + + + + This field MUST be present when the field of the + RecipientsFlags field is set to NoType (0x0) and the O flag of the RecipientsFlags field + is set. This field MUST NOT be present otherwise. This string specifies the address type + of the recipient (1). + + + + + A null-terminated string. This field MUST be present when the E flag of the RecipientsFlags + field is set and MUST NOT be present otherwise. This field MUST be specified in Unicode + characters if the U flag of the RecipientsFlags field is set and in the 8-bit character set + otherwise. This string specifies the email address of the recipient (1). + + + + + This field MUST be present when the D flag of the RecipientsFlags + field is set and MUST NOT be present otherwise. This field MUST be specified in Unicode characters if the U flag of + the RecipientsFlags field is set and in the 8-bit character set otherwise. This string specifies the email address + of the recipient (1). + + + + + A null-terminated string. This field MUST be present when the I flag of the RecipientsFlags field is set and MUST + NOT be present otherwise. This field MUST be specified in Unicode characters if the U flag of the RecipientsFlags + field is set and in the 8-bit character set otherwise. This string specifies the email address of the recipient + (1). + + + + + This field MUST be present when the T flag of the RecipientsFlags field is set and MUST NOT be present otherwise. + This field MUST be specified in Unicode characters if the U flag of the RecipientsFlags field is set and in the + 8-bit character set otherwise. This string specifies the email address of the recipient (1). + + + + + PropertyRow structures, as specified in section 2.8.1. The columns used for this row are those specified in + RecipientProperties. + + + + + Specifies that the recipient does support receiving rich text messages. + + + + + Creates this object and sets all it's properties + + The + The + + Set to true when the recipient in the + supports RTF + + If this flag is b'1', the DisplayName (section 2.8.3.2) field is included + If this flag is b'1', the EmailAddress (section 2.8.3.2) field is included. + + If this flag is b'1', this recipient (1) has a non-standard address type and the + AddressType field is included. + + If this flag is b'1', the SimpleDisplayName field is included. + + If this flag is b'1', the value of the TransmittableDisplayName + field is the same as the value of the DisplayName field. + + + If this flag is b'1', the TransmittableDisplayName (section 2.8.3.2) + field is included. + + + If this flag is b'1', the associated string properties are in Unicode with a 2- + byte terminating null character; if this flag is b'0', string properties are MBCS with a single + terminating null character, in the code page sent to the server in the EcDoConnectEx method, + as specified in [MS-OXCRPC] section 3.1.4.1, or the Connect request type 6, as specified in + [MS-OXCMAPIHTTP] section 2.2.4.1. + + + + + The RecurrencePattern structure specifies a recurrence pattern. The fields of this structure are stored in + little-endian byte order. + + + See https://msdn.microsoft.com/en-us/library/ee203303(v=exchg.80).aspx + + + + + + + + + + + + + + + + + + + + An integer that specifies the first ever day, week, or month of a recurring series, dating back to a reference date, which is January 1, 1601, for a Gregorian calendar. The value and its meaning depend on the value of the RecurFrequency field. The value of the FirstDateTime field is used to determine the valid dates of a recurring series, as specified in section 2.2.1.44.1.2. + + + + + An integer that specifies the interval at which the meeting pattern specified in PatternTypeSpecific field repeats. + The Period value MUST be between 1 and the maximum recurrence interval, which is 999 days for daily recurrences, 99 + weeks for weekly recurrences, and 99 months for monthly recurrences. The following table lists the values for this + field based on the recurrence frequency, which is specified in the RecurFrequency field. + + + + + TODO: Make structure + PatternTypeSpecific (variable): A structure that specifies the details of the recurrence pattern. The structure + varies according to the value of the PatternType field, as specified in sections 2.2.1.44.1.3, 2.2.1.44.1.4, + 2.2.1.44.1.5, and 2.2.1.44.1.6. + + + + + + + + + + An integer that specifies the number of occurrences in a recurrence. + + + When the EndType of the pattern is "End after date", this value always has to be computed. Although the value of + this field is always set, its value has no meaning on a recurring series that has no end date. This value can be + set to 0x0000000A for a recurring series with no end date + + + + + + + + + + An integer that specifies the date of the first occurrence. The value is the number of minutes between midnight, + January 1, 1601, and midnight of the date of the first occurrence. + + + + + An integer that specifies the ending date for the recurrence. The value is the number of minutes between midnight, + January 1, 1601, and midnight of the date of the last occurrence. When the value of the EndType field is 0x00002022 + (end after n occurrences), this value is calculated based on the number of occurrences If the recurrence does not + have an end date, the value of the EndDate field MUST be set to 0x5AE980DF. + + + + + Returns this class as a byte array + + + + + The PidTagReportTag property ([MS-OXPROPS] section 2.917) contains the data that is used to correlate the report + and the original message. The property can be absent if the sender does not request a reply or response to the + original e-mail message. If the original E-mail object has either the PidTagResponseRequested property (section + 2.2.1.46) set to 0x01 or the PidTagReplyRequested property (section 2.2.1.45) set to 0x01, then the property is set + on the original E-mail object by using the following format. + + + See https://msdn.microsoft.com/en-us/library/ee160822(v=exchg.80).aspx + + + + + (9 bytes): A null-terminated string of nine characters used for validation; set to "PCDFEB09". + + + + + (4 bytes): This field specifies the version. If the SearchFolderEntryId field is present, this field MUST be set to + 0x00020001; otherwise, this field MUST be set to 0x00010001. + + + + + (4 bytes): Size of the StoreEntryId field. + + + + + (Variable length of bytes): This field specifies the entry ID of the mailbox that contains the original message. If + the value of the + StoreEntryIdSize field is 0x00000000, this field is omitted. If the value is not zero, this field is filled with + the number of bytes specified by the StoreEntryIdSize field. + + + + + (4 bytes): Size of the FolderEntryId field. + + + + + (Variable): This field specifies the entry ID of the folder that contains the original message. If the value of the + FolderEntryIdSize field is 0x00000000, this field is omitted. If the value is not zero, the field is filled with + the number of bytes specified by the FolderEntryIdSize field. + + + + + (4 bytes): Size of the MessageEntryId field. + + + + + (Variable): This field specifies the entry ID of the original message. If the value of the MessageEntryIdSize field + is 0x00000000, this field is omitted. If the value is not zero, the field is filled with the number of bytes + specified by the MessageEntryIdSize field. + + + + + (4 bytes): Size of the SearchFolderEntryId field. + + + + + (Variable): This field specifies the entry ID of an alternate folder that contains the original message. If the + value of the SearchFolderEntryIdSize field is 0x00000000, this field is omitted. If the value is not zero, the + field is filled with the number of bytes specified by the SearchFolderEntryIdSize field. + + + + + (4 bytes): Size of the MessageSearchKey field. + + + + + (variable): This field specifies the search key of the original message. If the value of the MessageSearchKeySize + field is 0x00000000, this field is omitted. If the value is not zero, the MessageSearchKey field is filled with the + number of bytes specified by the MessageSearchKeySize field. + + + + + (4 bytes): Number of characters in the ANSI Text field. + + + + + (Variable): The subject of the original message. If the value of the ANSITextSize field is 0x00000000, this field + is omitted. If the value is not zero, the field is filled with the number of bytes specified by the ANSITextSize + field. + + + + + Returns this class as a byte array + + + + + The PidLidAppointmentUnsendableRecipients property ([MS-OXPROPS] section 2.35) contains a list of + unsendable attendees. This property is not required but SHOULD be set + + + + + An integer that specifies the number of structures in the RecipientRow field + + + + + If this flag is b'1', a different transport is responsible for delivery to this recipient(1). + + + + + If this flag is b'1', the DisplayName (section 2.8.3.2) field is included + + + + + If this flag is b'1', the EmailAddress (section 2.8.3.2) field is included. + + + + + If this flag is b'1', this recipient (1) has a non-standard address type and the AddressType field is included. + + + + + If this flag is b'1', the SimpleDisplayName field is included. + + + + + If this flag is b'1', the value of the TransmittableDisplayName field is the same as the value of the DisplayName + field. + + + + + If this flag is b'1', the TransmittableDisplayName (section 2.8.3.2) field is included. + + + + + If this flag is b'1', the associated string properties are in Unicode with a 2- + byte terminating null character; if this flag is b'0', string properties are MBCS with a single + terminating null character, in the code page sent to the server in the EcDoConnectEx method, + as specified in [MS-OXCRPC] section 3.1.4.1, or the Connect request type 6, as specified in + [MS-OXCMAPIHTTP] section 2.2.4.1. + + + + + A class used to make a task that can be added to an or + + + See https://msdn.microsoft.com/en-us/library/office/cc979231.aspx + + + + + + + + + + Start date of the task + + + + + Due date of the task + + + + + true when the task is complete + + + + + The complete percentage of the task + + + + + The actual task effort in minutes + + + + + The estimated task effort in minutes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Writes all the properties that are part of the object either as 's + or 's to the + + + + + Saves the message to the given + + + + + + Saves the message to the given + + + + + + Identifies a particular conversation thread; computed from message references. + + + + + The date and time + + + + + The unique GUID for this thread + + + + + The RAW base64 encoded thread index + + + + + Returns true when the thread index is valid + + + + + Creates this object and parses the given + + + + + + Returns the information about this thread index as a string + + + + + + This class maps each MAPI property to the corresponding canonical property name (and the otherway around). + + + See https://msdn.microsoft.com/en-us/library/office/cc815492.aspx + + + + + Creates this object and sets all it's properties + + + + + Returns the canonical name of the give . When the property does not + exists then null is returned + + + + + + + Returns the property name of the give . When the property does not + exists then null is returned + + + When more then one property is found then the UNICODE property is returned instead + of it's Non-UNICODE counter parts + + The canonical name of the + + +
+
diff --git a/MsgKitTestTool/MsgKitTestTool.csproj b/MsgKitTestTool/MsgKitTestTool.csproj index 5981a05..4413889 100644 --- a/MsgKitTestTool/MsgKitTestTool.csproj +++ b/MsgKitTestTool/MsgKitTestTool.csproj @@ -91,6 +91,12 @@ Always + + + {696489e4-c272-47d8-b617-95aef59f1eb7} + MsgKit + +