I’m working on an application that’s supposed to take a link to an email from Outlook and store it in a database.
I’ve been looking at the Microsoft.Office.Interop.Outlook API but I can’t find something that could be used for this.
Any thoughts?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
You could save the email as a .msg file and then save that into the database as a byte array instead?
Otherwise there are ways to programmtically access a mailbox or outlook .pst file, you would then have to write an interface that lets them select the email to save, and then save the email in parts (subject, to, from etc.) separately in to the database.
To access a mailbox on the Exchange server (Exchange 2007+) you can do it using the Exchange Web Services Managed API 1.0. EWS API and you can download it from here
It makes it really simple to access and retrieve emails etc as pre Exchange 2007 it was a pain and involved parsing a lot of XML or using CDOEXM.
Heres an example of how to use it:
You first need to create an Exchange service. Add a reference to the EWS and add the using line below.
Once the service is up and running you can then use it to query the mailbox:
This will return all the emails in the Inbox. You can then view details of the email using its properties. i.e.
item.Subject;If the emails are in a .pst file however, you will need to use the Outlook API or I recommend PST.NET (although you do have to but a license) as it makes it a lot easier.
Heres an example of using PST.NET: