exchange-server - ews - exchange web services api
Uso de la API de EWS para buscar en diferentes buzones de usuarios. (2)
Estamos desarrollando un módulo con el objetivo principal de rastrear y recopilar información sobre inspecciones de daños (mercado de seguros). Cada caso tiene un código (por ejemplo, L000525). Cada caso podría ser manejado por varias personas. Todos los correos electrónicos relacionados con un caso específico incluyen el código del caso en el asunto.
Lo que queremos hacer es recopilar y mostrar los correos electrónicos entrantes y enviados relacionados con cada caso específico.
La idea es que cualquier usuario pueda abrir una ventana de "Administración de casos", seleccionar un caso específico y luego obtener toda la información relacionada (incluidos los correos electrónicos, por supuesto).
Tenemos que encontrar los correos electrónicos en los buzones de unos 20 usuarios. Así que las preguntas son:
- ¿Cuál es la mejor manera de hacer esto? ¿Consumirá mucho tiempo y recursos?
Somos nuevos en el mundo de Exchange, por lo que estamos pensando en la suplantación de Exchange, pero no estamos seguros del todo. El módulo está desarrollado en Silverlight 3, WCF, SQL Server + Exchange 2007.
Aquí se muestra un ejemplo completo de lo que @smcintosh ha hecho anteriormente: API de Office365: administrador que accede a los eventos del calendario de otros usuarios / salas . Es una clase java completa que debe compilarse y ejecutarse y accede al calendario de recursos de la sala. ¡Buena suerte!
Si las credenciales utilizadas para conectarse a EWS tienen derechos para acceder al buzón de un usuario, entonces debería poder hacer algo como esto:
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)
}
Eso es. Wow, mi primera respuesta SO!