2009-10-23 33 views
15

Chúng tôi đang phát triển một mô-đun với mục tiêu chính là theo dõi và thu thập thông tin về kiểm tra thiệt hại (thị trường bảo hiểm). Mỗi trường hợp có một mã (ví dụ: L000525). Mỗi trường hợp có thể được quản lý bởi nhiều người. Tất cả các email liên quan đến một trường hợp cụ thể bao gồm mã trường hợp trong chủ đề.Sử dụng EWS API để tìm kiếm qua các hộp thư người dùng khác nhau

Điều chúng tôi muốn làm là thu thập và hiển thị các email đến và được gửi liên quan đến từng trường hợp cụ thể.

Ý tưởng là bất kỳ người dùng nào cũng có thể mở cửa sổ "Quản lý trường hợp", chọn một trường hợp cụ thể và sau đó nhận tất cả thông tin có liên quan (bao gồm cả email).

Chúng tôi phải tìm email vào hộp thư của khoảng 20 người dùng. Vì vậy, các câu hỏi là:

  • Cách nào tốt hơn để làm điều này? Nó sẽ tiêu tốn rất nhiều thời gian và nguồn lực?

Chúng tôi là người mới trong thế giới Exchange nên chúng tôi đang nghĩ đến sự mạo danh Exchange, nhưng chúng tôi không chắc chắn chút nào. Các module được phát triển trong Silverlight 3, WCF, SQL Server + Exchange 2007.

Trả lời

45

Nếu các chứng chỉ sử dụng để kết nối với EWS đã quyền để truy cập vào hộp thư của người dùng sau đó bạn sẽ có thể làm điều gì đó như thế này:

var service = new ExchangeService(); 
service.Credentials = new WebCredentials("[email protected]", "password"); 
service.AutodiscoverUrl("[email protected]"); 

var userMailbox = new Mailbox("[email protected]"); 
var folderId = new FolderId(WellKnownFolderName.Inbox, userMailbox); 

var itemView = new ItemView(20); // page size 
var userItems = service.FindItems(folderId, itemView); 

foreach (var item in userItems) 
{ 
    // do something with item (nb: it might not be a message) 
} 

Vậy đó. Wow, câu trả lời SO đầu tiên của tôi!

+0

Điều này chắc chắn đã giúp tôi. Tôi cần có danh sách tất cả các cuộc hẹn từ các lịch được chia sẻ từ một lần đăng nhập duy nhất. Hóa ra điều này, cùng với việc đặt quyền "Người kiểm tra" trên từng lịch để đăng nhập của tôi, là tất cả những gì tôi cần làm. – cmptrgeekken

+0

Trong Exchange 2013 (Office 365), người dùng cần ít nhất quyền 'Chi tiết đầy đủ'. Chỉ có giới hạn hoặc tính khả dụng sẽ không hoạt động. – harsimranb

+1

lớp được gọi là FolderId không FolderID, phần còn lại chỉ hoạt động tốt. cám ơn! –

Các vấn đề liên quan