Exchage 2007 Client Application Functions(5) -- 如何设置邮件为已读
public bool SetIsReadFlag(ItemIdType itemId)
{
SetItemFieldType setField = new SetItemFieldType();
MessageType message = new MessageType();
message.IsRead = true;
message.IsReadSpecified = true;
setField.Item1 = message;
PathToUnindexedFieldType path = new PathToUnindexedFieldType();
path.FieldURI = UnindexedFieldURIType.messageIsRead;
setField.Item = path;
ItemChangeType[] updatedItems = new ItemChangeType[1];
updatedItems[0] = new ItemChangeType();
updatedItems[0].Updates = new ItemChangeDescriptionType[1];
updatedItems[0].Updates[0] = setField;
ItemChangeDescriptionType[] updates = new ItemChangeDescriptionType[1];
updates[0] = new ItemChangeDescriptionType();
updates[0].Item = path;
updatedItems[0].Item = new ItemIdType();
((ItemIdType)updatedItems[0].Item).Id = itemId.Id;
((ItemIdType)updatedItems[0].Item).ChangeKey = itemId.ChangeKey;
UpdateItemType request = new UpdateItemType();
request.ItemChanges = updatedItems;
request.ConflictResolution = ConflictResolutionType.AutoResolve;
request.MessageDisposition = MessageDispositionType.SaveOnly;
request.MessageDispositionSpecified = true;
request.SendMeetingInvitationsOrCancellations = CalendarItemUpdateOperationType.SendToChangedAndSaveCopy;
request.SendMeetingInvitationsOrCancellationsSpecified = true;
UpdateItemResponseType response = this.m_esb.UpdateItem(request);
if (response.ResponseMessages.Items[0].ResponseClass != ResponseClassType.Success)
return false;
else
return true;
}
{
SetItemFieldType setField = new SetItemFieldType();
MessageType message = new MessageType();
message.IsRead = true;
message.IsReadSpecified = true;
setField.Item1 = message;
PathToUnindexedFieldType path = new PathToUnindexedFieldType();
path.FieldURI = UnindexedFieldURIType.messageIsRead;
setField.Item = path;
ItemChangeType[] updatedItems = new ItemChangeType[1];
updatedItems[0] = new ItemChangeType();
updatedItems[0].Updates = new ItemChangeDescriptionType[1];
updatedItems[0].Updates[0] = setField;
ItemChangeDescriptionType[] updates = new ItemChangeDescriptionType[1];
updates[0] = new ItemChangeDescriptionType();
updates[0].Item = path;
updatedItems[0].Item = new ItemIdType();
((ItemIdType)updatedItems[0].Item).Id = itemId.Id;
((ItemIdType)updatedItems[0].Item).ChangeKey = itemId.ChangeKey;
UpdateItemType request = new UpdateItemType();
request.ItemChanges = updatedItems;
request.ConflictResolution = ConflictResolutionType.AutoResolve;
request.MessageDisposition = MessageDispositionType.SaveOnly;
request.MessageDispositionSpecified = true;
request.SendMeetingInvitationsOrCancellations = CalendarItemUpdateOperationType.SendToChangedAndSaveCopy;
request.SendMeetingInvitationsOrCancellationsSpecified = true;
UpdateItemResponseType response = this.m_esb.UpdateItem(request);
if (response.ResponseMessages.Items[0].ResponseClass != ResponseClassType.Success)
return false;
else
return true;
}