木子苏

导航

Exchange

ExchangeServiceBinding exchangeServer = new ExchangeServiceBinding();
        ICredentials creds 
= new NetworkCredential("pccai""password""abc");

        exchangeServer.Credentials 
= creds;
        exchangeServer.Url 
= @"https://mailsrv/ews/exchange.asmx";

        DistinguishedFolderIdType[] folderIDArray 
= new DistinguishedFolderIdType[1];
        folderIDArray[
0= new DistinguishedFolderIdType();
        folderIDArray[
0].Id = DistinguishedFolderIdNameType.inbox;

        PathToUnindexedFieldType ptuftDisplayName 
= new PathToUnindexedFieldType();
        ptuftDisplayName.FieldURI 
= UnindexedFieldURIType.folderDisplayName;

        PathToExtendedFieldType pteftComment 
= new PathToExtendedFieldType();
        pteftComment.PropertyTag 
= "0x3004"// PR_COMMENT
        pteftComment.PropertyType = MapiPropertyTypeType.String;

        GetFolderType myfoldertype 
= new GetFolderType();
        myfoldertype.FolderIds 
= folderIDArray;
        myfoldertype.FolderShape 
= new FolderResponseShapeType();
        myfoldertype.FolderShape.BaseShape 
= DefaultShapeNamesType.IdOnly;
        myfoldertype.FolderShape.AdditionalProperties 
= new BasePathToElementType[2];
        myfoldertype.FolderShape.AdditionalProperties[
0= ptuftDisplayName;
        myfoldertype.FolderShape.AdditionalProperties[
1= pteftComment;

        GetFolderResponseType myFolder 
= exchangeServer.GetFolder(myfoldertype);

        FolderInfoResponseMessageType firmtInbox 
=
            (FolderInfoResponseMessageType)myFolder.ResponseMessages.Items[
0];

 
//Response.Write(string.Format("got folder: {0}", firmtInbox.Folders[0].DisplayName));

 
//if (null != firmtInbox.Folders[0].ExtendedProperty)
 
//{
 
//     Response.Write(string.Format("Comment: {0}", firmtInbox.Folders[0].ExtendedProperty[0].Item.ToString()));
 
//}
 
//else
 
//{
 
//     Response.Write("Comment: not found");
 
//}

        PathToUnindexedFieldType ptuftSubject 
= new PathToUnindexedFieldType();
        ptuftSubject.FieldURI 
= UnindexedFieldURIType.itemSubject;

        PathToUnindexedFieldType ptuftBody
= new PathToUnindexedFieldType();
        ptuftBody.FieldURI 
= UnindexedFieldURIType.itemAttachments;

        PathToExtendedFieldType pteftFlagStatus 
= new PathToExtendedFieldType();
        pteftFlagStatus.PropertyTag 
= "0x1090"// PR_FLAG_STATUS
        pteftFlagStatus.PropertyType = MapiPropertyTypeType.Integer;

        FindItemType findItemRequest 
= new FindItemType();
        findItemRequest.Traversal 
= ItemQueryTraversalType.Shallow;
        findItemRequest.ItemShape 
= new ItemResponseShapeType();
        findItemRequest.ItemShape.BaseShape 
= DefaultShapeNamesType.AllProperties;

 
//findItemRequest.ItemShape.AdditionalProperties = new BasePathToElementType[2];
 
//findItemRequest.ItemShape.AdditionalProperties[0] = ptuftSubject;
 
//findItemRequest.ItemShape.AdditionalProperties[1] = pteftFlagStatus;
 /**/////findItemRequest.ItemShape.AdditionalProperties[2] = ptuftBody;

        findItemRequest.ParentFolderIds 
= new FolderIdType[1];
        findItemRequest.ParentFolderIds[
0= firmtInbox.Folders[0].FolderId;

        FindItemResponseType firt 
= exchangeServer.FindItem(findItemRequest);

 
foreach (FindItemResponseMessageType firmtMessage in firt.ResponseMessages.Items)
 
{
 
if (firmtMessage.RootFolder.TotalItemsInView > 0)
 
{
 
foreach (ItemType it in ((ArrayOfRealItemsType)firmtMessage.RootFolder.Item).Items)
 
{
                     Response.Write(
string.Format("标题: {0} <br>", it.Subject));
                     Response.Write(
string.Format("发件人: {0} <br>", ((cn.cwe.mail.MessageType)(it)).From.Item.Name));
                     Response.Write(
string.Format("收件人: {0} <br>", it.DisplayTo));
                     Response.Write(
string.Format("抄送人: {0} <br>", it.DisplayCc));
                     Response.Write(
string.Format("大小: {0} <br>", it.Size.ToString()));
                     Response.Write(
string.Format("重要性: {0} <br>", it.Importance.ToString()));
                     Response.Write(
string.Format("是否已读: {0} <br>", ((cn.cwe.mail.MessageType)(it)).IsRead.ToString()));
                     Response.Write(
string.Format("附件: {0} <br>", it.HasAttachments.ToString()));
                     Response.Write(
string.Format("接收时间: {0} <br>", it.DateTimeReceived.ToString()));
 
if (it.Body != null)
 
{
                         Response.Write(
string.Format("正文: {0} <br>", it.Body.Value));
                     }


 
if (null != it.ExtendedProperty)
 
{
                         Response.Write(
string.Format("Prop 0x1090: {0}\n\n", it.ExtendedProperty[0].Item.ToString()));
                    }

 
else
 
{
                         Response.Write(
string.Format("Prop 0x1090: not found"));
                    }

                }

            }

posted on 2008-03-03 12:59  skind@126.com  阅读(579)  评论(0)    收藏  举报