2012-04-19 14 views
7

Tôi có ứng dụng trích xuất email từ 'Người dùng A' bằng địa chỉ email [email protected] Tôi sử dụng đoạn mã sau để làm như vậy:API được quản lý EWS: Tìm kiếm Hộp thư đến khác với hộp thư chính liên quan đến đăng nhập Windows

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010); 
service.UseDefaultCredentials = true; 
service.Url = new Uri(ServerName); 

FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox, new ItemView(500)); 

Điều này làm việc tốt nếu Người dùng A đăng nhập và chạy ứng dụng.

Tuy nhiên, giả sử 'Người dùng B' đã được cấp quyền truy cập vào hộp thư đến của Người dùng A và muốn chạy cùng một ứng dụng để trích xuất tệp từ Hộp thư đến của Người dùng A. Làm cách nào để thay đổi mã ở trên để chỉ định hộp thư đến của tài khoản email?

Tôi biết rằng tôi có thể mã hóa chi tiết đăng nhập của Người dùng A khi nhận thông tin đăng nhập, nhưng lý tưởng là tôi sẽ tránh có tên người dùng được mã hóa nhưng thay vì sử dụng thông tin đăng nhập của người dùng đang chạy ứng dụng.

Điều này có thể chỉ là sự thiếu hiểu biết của tôi, nhưng tôi tương đối mới đối với .net và rất mới đối với EWS. Bất kỳ con trỏ nào cũng sẽ được đánh giá cao!

Cảm ơn

Trả lời

15

Phái đoàn là những gì tôi cần:

FolderId InboxId = new FolderId(WellKnownFolderName.Inbox, "[email protected]"); 
FindItemsResults<Item> findResults = service.FindItems(InboxId, new ItemView(500)); 
Các vấn đề liên quan