• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 695
  • Last Modified:

exchange web services 2007 - How do I query a mailbox which is not the default for user ?

I am using the code snippet to access Exchange Web Services (EWS) and get a bunch of messages from Inbox, which are then moved to the Deleted Items Folder, in some other piece of code.
This is a C# Windows Service that has included the EWS definitions as a web reference.

All is working flawlessly, excepto for the fact that while using this same user, do the same kind of stuff to other mailboxes to which he also access, but are not his default one.

The Ideal would be the existance of a property that would just need to receive the mailbox name or email address:) But I am beginning to believe that cannot be done.

Thank you
exchangeServer = new xx.xxx.mpost.ExchangeServiceBinding();
exchangeServer.Url = "https://mpost.xxx.xx/ews/exchange.asmx";
System.Net.ICredentials creds = new System.Net.NetworkCredential(mailboxuser, mailboxpwd, "");
exchangeServer.Credentials = creds;
xx.xxx.mpost.FindItemType fit = new xx.xxx.mpost.FindItemType();
fit.Traversal = xx.xxx.mpost.ItemQueryTraversalType.Shallow;
xx.xxx.mpost.DistinguishedFolderIdType[] folderIDs = new xx.xxx.mpost.DistinguishedFolderIdType[1];
folderIDs[0] = new xx.xxx.mpost.DistinguishedFolderIdType();
folderIDs[0].Id = xx.xxx.mpost.DistinguishedFolderIdNameType.inbox;
fit.ParentFolderIds = folderIDs;
xx.xxx.mpost.ItemResponseShapeType irst = new xx.xxx.mpost.ItemResponseShapeType();
irst.BaseShape = xx.xxx.mpost.DefaultShapeNamesType.AllProperties;
fit.ItemShape = irst;
xx.xxx.mpost.FindItemResponseType firt = exchangeServer.FindItem(fit);

Open in new window

2 Solutions
I am not very familiar with this code but would like to share a simple rule to access someone else mailbox using Outlook Web Access, which may help.

1. In case you want to access your own mailbox using Outlook web access, you will use
and then login your own credentials and it will open the mailbox of the user whose credentials are used.

2. In case you want to access someone else's mailbox, you will use
and then login using your own credentials (as you have access on other_user's mailbox.

Hope it helps.
ApagadorAuthor Commented:
Sorry for taking so long to answer.

Actually, I am not trying to use OWA, but actually EWS from within my own application, so the advice will not function.

On the bright side, I managed to do it myself, so I'm posting the answer here, the code that must be imbued withing the code I alredy posted.

Thanks, anyway..
pt.eap.mpost.EmailAddressType eat = new pt.eap.mpost.EmailAddressType();
eat.EmailAddress = "testemail@domain.com";
folderIDs[0].Mailbox = eat;

Open in new window

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now