I have an application that allows user to upload any file type that they want (pretty similar to google drive). Although, in case of .PST files, I don't want to upload the whole PST file. Instead I want to read the emails from the pst file, and their attachments, and store them all in a folder. So, if I have test.pst file, I want to create folder named Test and save everything from the PST inside it.

As such, I have two options to create code for this. Javascript or C#. I couldn't find anything in Javascript that might help. I did find an existing SO question. https://stackoverflow.com/questions/577904/can-i-read-an-outlook-2003-2007-pst-file-in-c

Problem is that the code in all the answers work only for desktop applications as it require Outlook installed. Of course, I can't expect that to be the case when creating a website.

I tried the PST SDK's .Net version, but it didn't work for any PST file that was created in Outlook 2007 or higher. Plus, it is too old a project that fails to convert properly to new Visual Studio project, and is using deprecated methods.

So, I maybe just need help figuring out how to read PST without Outlook or if there is any API to help with it.

  • It sounds like you're imagining PST to be kind of like a big zip file, but it's more like a database than a file system. A database is nice because it's faster than a file system, and small, but it's harder to work with. Converting the database to a file system will be hard, and it will take a lot of room. It would be better to sync the emails via the existing protocols, e.g. IMAP, MAPI, or even POP3.
    – browly
    Commented Oct 1, 2018 at 16:09
  • @browly I understand how PST works. I actually found one sdk PST.Net from independentsoft, which basically reads the binary data, and create msg files. As of now, my problem is trying to do the same thing in JS, to save on unnecessary uploads to my web server. As for using IMAP etc, I really can't. Requirement is specifically for .PST files. Our users normally get PST files as email backup, and may not even have access to the email accounts. Commented Oct 3, 2018 at 5:26

1 Answer 1


There is a commercial Java API developed by an Independentsoft company www.independentsoft.de. You can find a large number of examples of code and its implementation on their website. It was very helpful to me.

  • Hey, thanks man. It was last year. And I ended up finding .net version of the same api, that you suggested. I just used .Net version of it. Had to upload the data to server, then use .Net library, instead of using user's system. Sorry, I forgot to mark this question as closed. Commented Sep 27, 2019 at 8:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.