2011-05-24 22 views
5

Al encontrar elementos de Exchange 2010 Server journaling inbox, hay algunas notificaciones en correos no entregados.API administrada de Exchange EWS: la notificación de correo indestructible no tiene la propiedad DateTimeReceived

Al procesar estos mensajes de correo electrónico y tratando de leer la propiedad DateTimeReceived, consigo un ServiceObjectPropertyException con el error:

You must load or assign this property before you can read its value. 

¿Hay una manera de identificar este tipo de mensajes de correo electrónico, o cargar la propiedad DateTimeReceived (aunque será nulo)?

Mi código es algo como esto:

FindItemsResults<Item> mails = folder.FindItems(searchConditions, countConstraint); 
foreach (Item item in mails) 
{ 
    EmailMessage email = (EmailMessage)item; 
    email.Load(); 
    DateTime receivedTime = email.DateTimeReceived; 
    .... 
} 

Esos correos electrónicos son de un buzón de diario que tiene una copia del buzón de correo supervisado cada correo electrónico enviado a la misma.

Los correos electrónicos específicos que no tienen esta propiedad son notificaciones sobre correos electrónicos enviados desde uno de esos buzones, pero no se pudieron entregar.

A través de MFCMapi pude ver el mensaje y se configuró la propiedad PR_MESSAGE_DELIVERY_TIME.

Respuesta

4

No creo que DateTimeReceived se considera una propiedad de primera clase, por lo que debe cargar su correo electrónico con propiedades específicas.

email.Load(new PropertySet(ItemSchema.DateTimeReceived)); 
+0

lo he intentado, pero aún así obtener el mismo error. – Yiftizur

Cuestiones relacionadas