上帝说,要有光,我说我反对,从此世界上有了黑暗
随笔- 5  文章- 0  评论- 9 
博客园  社区  首页  新随笔  联系  管理  订阅 订阅
2008年6月16日
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;
        }
posted @ 2008-06-16 21:16 West 阅读(165) 评论(2) 编辑
Exchage 2007 Client Application Functions(4) -- 如何删除邮件
       public bool DeleteItem(ItemType item)
        
{
            
// Create the request.
            DeleteItemType request = new DeleteItemType();

            
// Identify the items to delete.
            ItemIdType[] items = new ItemIdType[1];
            items[
0] = item.ItemId; //items[0].Id = "AAAlAE1BQG1";
            request.ItemIds = items;

            
// Identify how deleted items are handled.
            request.DeleteType = DisposalType.MoveToDeletedItems;

            
// Identify how tasks are deleted.
            request.AffectedTaskOccurrences = AffectedTaskOccurrencesType.SpecifiedOccurrenceOnly;
            request.AffectedTaskOccurrencesSpecified 
= true;

            
// Identify how meeting cancellations are handled.
            request.SendMeetingCancellations = CalendarItemCreateOrDeleteOperationType.SendToAllAndSaveCopy;
            request.SendMeetingCancellationsSpecified 
= true;

            
try
            
{
                
// Send the response and receive the request.
                DeleteItemResponseType response = m_esb.DeleteItem(request);
                ArrayOfResponseMessagesType aormt 
= response.ResponseMessages;
                ResponseMessageType[] rmta 
= aormt.Items;

                
// Check each response message.
                foreach (ResponseMessageType rmt in rmta)
                
{
                    
if (rmt.ResponseClass == ResponseClassType.Error)
                    
{
                        
return false;
                    }

                }

                
return true;
            }

            
catch (Exception e)
            
{
                
throw new Exception("Error :" + e.Message);
            }

        }
posted @ 2008-06-16 21:15 West 阅读(80) 评论(0) 编辑
Exchage 2007 Client Application Functions(3) -- 如何移动邮件

 

如何移动邮件
    public bool MoveItem(ItemType Item, DistinguishedFolderIdNameType destEmailFolder)
        
{
            
// Identify the items to move.
            ItemIdType[] items = new ItemIdType[1] { Item.ItemId };

            
// Identify the destination folder.
            DistinguishedFolderIdType destFolder = new DistinguishedFolderIdType();
            destFolder.Id 
= destEmailFolder;

            
// Form the move request.
            MoveItemType request = new MoveItemType();
            request.ItemIds 
= items;
            request.ToFolderId 
= new TargetFolderIdType();
            request.ToFolderId.Item 
= destFolder;

            
try
            
{
                
// Send the request and get the response.
                MoveItemResponseType response = m_esb.MoveItem(request);
                ArrayOfResponseMessagesType aormt 
= response.ResponseMessages;
                ResponseMessageType[] rmta 
= aormt.Items;

                
foreach (ResponseMessageType rmt in rmta)
                
{
                    
if (rmt.ResponseClass == ResponseClassType.Error)
                    
{
                        
return false;
                    }

                }

                
return true;
            }

            
catch (Exception e)
            
{
                
throw new Exception("Error :" + e.Message);
            }

        }
posted @ 2008-06-16 21:14 West 阅读(54) 评论(0) 编辑
Exchage 2007 Client Application Functions(2) -- 如何收取邮件
posted @ 2008-06-16 21:08 West 阅读(262) 评论(4) 编辑
Exchage 2007 Client Application Functions(1) -- 关于ExchangeServer2007
posted @ 2008-06-16 20:07 West 阅读(243) 评论(3) 编辑
Copyright ©2012 West