Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Marking an email message as read using Exchange Web Services 2007

I am subscribed to an email account using Exchange Web Services 2007 and processing attachments as new emails come in. I would like to mark those emails as "read" on the server after I'm done processing them, but I'm finding it's not as simple as setting the "IsRead" property to true. I've even tried the following:

Dim msg As EmailMessage msg.Load(New PropertySet({EmailMessageSchema.IsRead})) msg.IsRead = True 

I tried this after finding out that I had to load specific schema properties if I wanted to interact with certain parts of the message (like attachments). I've also tried directly binding the message to a new object and loading additional properties:

Dim iID as ItemId = msg.Id Dim tmpMsg as EmailMessage = EmailMessage.Bind(service, iID, New PropertySet(BasePropertySet.FirstClassProperties, EmailMessageSchema.IsRead)) tmpMsg.IsRead = True 

I'm getting no luck. I've googled around and found one MSDN blog example that seems like it should work, but he's got some classes that I can't seem to find (like the Microsoft.Exchange.WebServices.SetItemFieldType class; all I've got in the WebServices namespace are the Data and AutoDiscover namespaces, no classes or anything). And since I can't find those classes or anything similar I'm kinda stuck. He also listed a DAV example but, again, his code uses classes I can't find in my version of the EWS dll (which is 14.0.0.0). I tried downloading the latest API from Microsoft but that seemed to be the same version as what I already have.

So my question is, is there a way of marking an item as read using Exchange 2007 Web Services?

like image 841
mounty Avatar asked Jul 27 '11 14:07

mounty


People also ask

What is difference between Outlook on the web and Exchange Web Services?

The Bottom Line In short, Exchange Web Services is an API that allows you to access your Microsoft Exchange data. Conversely, OWA is a web-based application that lets you access your Microsoft mailbox online. Both tools help you interact with your Exchange data, but EWS gives you more flexibility overall.

What is Exchange EWS used for?

Exchange Web Services (EWS) is an application program interface (API) that allows programmers to access Microsoft Exchange items such as calendars, contacts and email.


1 Answers

You need to call the tmpMsg.Update method to persist changes back to the server.

like image 178
Henning Krause Avatar answered Sep 18 '22 22:09

Henning Krause