Storing Outlook emails in a Microsoft SQL Server database

c#, outlook-2007, outlook-addin, sql-server, vsto

Solution

If you are looking to actually store it as a .msg format file, without trying to re-write this yourself, I would say that you are looking at going the route you mentioned.

Personally I would go to storing bits and pieces of the email, but that depends on exactly what you are going to do with it. Storing a MSG file in an DB in my opinion isn't really anything of value. now your use case might prove otherwise.

Problem

I am using c# to write an Outlook 2007 add-in to store emails in a SQL Server 2005 database. I would like to be able to store the entire .msg file in a `varbinary(MAX)` field. Is there a way to do this without having to use the Outlook `MailItem`'s `SaveAs()` method to save to a temp file and then read the file back in? I will need to transfer a large number of emails to the database and would prefer to avoid costly disk reads and writes.

Original source