Solved

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

Posted on 2008-10-10
2
677 Views
Last Modified: 2013-11-19
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

0
Comment
Question by:Apagador
2 Comments
 
LVL 12

Assisted Solution

by:aa230002
aa230002 earned 20 total points
Comment Utility
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
https://<exchange_server>/exchange
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
https://<exchange_server>/Exchange/<other_user>@domain.com
and then login using your own credentials (as you have access on other_user's mailbox.

Hope it helps.
-Amit
0
 

Accepted Solution

by:
Apagador earned 0 total points
Comment Utility
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

0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Resolve Outlook connectivity issues after moving mailbox to new Exchange 2016 server
Find out how to use Active Directory data for email signature management in Microsoft Exchange and Office 365.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now