110,538
社区成员
发帖
与我相关
我的任务
分享
private void Test()
{
ws.ExchangeServiceBinding exch = new GetExchangeMail.ws.ExchangeServiceBinding();
ICredentials creds = new NetworkCredential(用户名, 密码, 域名);
exch.Credentials = creds;
exch.Url = "https://Ex2007MailBoxSvr01/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;
GetFolderType myfoldertype = new GetFolderType();
myfoldertype.FolderIds = folderIDArray;
myfoldertype.FolderShape = new FolderResponseShapeType();
myfoldertype.FolderShape.BaseShape = DefaultShapeNamesType.IdOnly;
myfoldertype.FolderShape.AdditionalProperties = new BasePathToElementType[1];
myfoldertype.FolderShape.AdditionalProperties[0] = ptuftDisplayName;
// 获取服务器中的文件夹的集合
GetFolderResponseType myFolder = exch.GetFolder(myfoldertype);
// 获取收件箱
FolderInfoResponseMessageType firmtInbox = (FolderInfoResponseMessageType)myFolder.ResponseMessages.Items[0];
PathToUnindexedFieldType ptuftSubject = new PathToUnindexedFieldType();
ptuftSubject.FieldURI = UnindexedFieldURIType.itemSubject;
PathToExtendedFieldType pteftFlagStatus = new PathToExtendedFieldType();
pteftFlagStatus.PropertyTag = "0x1090"; // PR_FLAG_STATUS
pteftFlagStatus.PropertyType = MapiPropertyTypeType.Integer;
// 定义FindItemType对象,准备获取收件箱中的集合
FindItemType findItemRequest = new FindItemType();
findItemRequest.Traversal = ItemQueryTraversalType.Shallow;
findItemRequest.ItemShape = new ItemResponseShapeType();
findItemRequest.ItemShape.BaseShape = DefaultShapeNamesType.AllProperties;
findItemRequest.ParentFolderIds = new FolderIdType[1];
findItemRequest.ParentFolderIds[0] = firmtInbox.Folders[0].FolderId;
// 获取邮件
FindItemResponseType firt = exch.FindItem(findItemRequest);
// 循环迭代每一封邮件
foreach (FindItemResponseMessageType firmtMessage in firt.ResponseMessages.Items)
{
// 如果包含邮件,显示出来
if (firmtMessage.RootFolder.TotalItemsInView > 0)
{
// 循环迭代每一封邮件详细信息
foreach (ItemType it in ((ArrayOfRealItemsType)firmtMessage.RootFolder.Item).Items)
{
listTitle.Items.Add(string.Format("{0}, From {1} @ {2}", it.Subject, ((MessageType)(it)).From.Item.Name, it.DateTimeSent.AddHours(8).ToString()));
Application.DoEvents();
}
}
}
}