Ok, so I'll more or less try to provide you a conceptual answer since you haven't tried anything yet... and it depends on your definition of archive. You can archive "data" to a database, or xml file typically. What you're doing is breaking the email up into objects, and all you have to do is store those objects somewhere you can retrieve them. If you don't have a database, use the xml file approach, consider making a series of xml files, so that one doesn't get too big and then slow. The other approach is to a traditional outlook archive and I can only provide you the path here:
The only way you'd be able to create / append to a .pst binary file is through interop services. Here's some links to get you started:
http://www.codeproject.com/Questions/441470/how-to-read-emails-from-outlook-using-csharp
http://www.codeproject.com/Questions/461801/Open-Outlook-asp-net