Extract Subfiles from Outlook Personal Folders Files

KeyView can extract Outlook items such as messages, appointments, contacts, tasks, notes, and journal entries from a PST file. When a PST file is extracted to disk, the body text and header information (To, From, Sent, and so on) from each Outlook item is extracted to a text file. (If you do not want the header information to appear in the text file, see Exclude Metadata from the Extracted Text File.)

You can also extract messages from PST files as MSG files, including all their attachments, using the setSaveAsMSG() method in the ExtSubFileExtractConfig class.

If an Outlook item contains a non-mail attachment, the attachment is extracted in its native format to a subdirectory. If an Outlook item contains an Outlook attachment, the attached item’s body text and any attachments are extracted to a subdirectory.

NOTE: The Microsoft Outlook Personal Folders (PST) readers are an advanced feature and are sold and licensed separately. To enable these readers in a KeyView SDK, you must obtain an appropriate license key from Micro Focus. For information about adding a new license key to an existing installation, see Pass License Information to KeyView.

Choose the Reader to use for PST Files

KeyView provides several ways of processing PST files:

On Windows, the MAPI-based reader is used by default but you can choose pstxsr if you prefer. On non-Windows platforms, only one of the native readers is available.

The differences between the readers are summarized in the following table.

Feature Native Reader (pstxsr) Native Reader (pstnsr) MAPI-based Reader (pstsr)
Platforms supported Windows x86 and x64
Linux x64 and AArch64
All platforms not supported by pstxsr Windows x86 and x64
Outlook required No No Yes
MAPI properties supported Yes. All properties defined in mapitags.h. Object properties are not supported.
Password protection supported Yes Yes Yes (using KVCredential structure)
Compressible encryption supported Yes Yes Yes
High encryption supported No No Yes

To change the reader used to process PST files, change the PST entry (file category value 297) in the formats.ini file. For example, to use pstxsr:

297=pstx

NOTE: You must make sure that the PST that you are extracting is not open in the Outlook client, and that the Outlook process is not running.

NOTE: When extracting subfiles from PST files, information on the distribution list used in an email is extracted to a file called emailname.dist. This applies to the MAPI reader (pstsr) only.

System Requirements

MAPI is supported on Windows platforms only and relies on functionality in Outlook. If you want to use the MAPI-based reader, pstsr, Microsoft Outlook must be installed on the same machine as your application. Outlook must also be the default email application. KeyView supports the following PST formats and Outlook clients:

MAPI Attachment Methods

The way in which you can access the contents of a PST message attachment is determined by the MAPI attachment method applied to the attachment. For example, if the attachment is an embedded OLE object, it uses the ATTACH_OLE attachment method. KeyView can access message attachments that use the following attachment methods:

ATTACH_BY_VALUE
ATTACH_EMBEDDED_MSG
ATTACH_OLE
ATTACH_BY_REFERENCE
ATTACH_BY_REF_ONLY
ATTACH_BY_REF_RESOLVE

Attachments using the ATTACH_BY_VALUE, ATTACH_EMBEDDED_MSG, or ATTACH_OLE attachment methods are extracted automatically when the PST file is extracted. An "attach by reference" method means that the attachment is not in Outlook, but Outlook contains an absolute path to the attachment. Before you can extract these types of attachments, you must retrieve the path to access the attachment.

To extract "attach by reference" attachments

  1. Determine whether the attachment uses an ATTACH_BY_REFERENCE, ATTACH_BY_REF_ONLY, or ATTACH_BY_REF_RESOLVE method by retrieving the MAPI property PR_ATTACH_METHOD.

  2. If the attachment uses one of the "attach by reference" methods, get the fully qualified path to the attachment by retrieving the MAPI properties PR_ATTACH_LONG_PATHNAME or PR_ATTACH_PATHNAME.

  3. You can then either copy the files from their original location to the path where the PST file is extracted, or use the Filter API methods to filter the attachment.

Open Secured PST Files

KeyView enables you to specify credentials (user name and password), which are used to open a secured PST file for extraction. See Password Protected Files for more information.

Detect PST Files While the Outlook Client is Running

If you are running an Outlook client while running the File Extraction API, the KeyView format detection module (kwad) might not be able to open the PST file to determine the file’s format because Outlook has the file locked. In this case, you can do one of the following: