string userName = "你的用戶名";
string passWord ="你的密碼";
string domain = "域名";
string url = "https://exchange服務器地址/EWS/Exchange.asmx";
ExchangeServiceBinding exchangeServer = new ExchangeServiceBinding();
ICredentials creds = new NetworkCredential(userName, passWord, domain);
// 建立信任連接
exchangeServer.Credentials = creds;
exchangeServer.Url = url;
// 定義郵件的收件箱
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對象,設置相應屬性
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];
// 顯示收件箱
//Console.WriteLine(string.Format("got folder: {0}", firmtInbox.Folders[0].DisplayName));
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對象,准備獲取收件箱中的集合
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 = exchangeServer.FindItem(findItemRequest);
// 循環迭代每一封郵件
foreach (FindItemResponseMessageType firmtMessage in firt.ResponseMessages.Items)
{
//如果包含郵件,顯示出來
if (firmtMessage.RootFolder.TotalItemsInView > 0)
{
// 循環迭代每一封郵件詳細信息
foreach (ItemType it in ((ArrayOfRealItemsType)firmtMessage.RootFolder.Item).Items)
{
if (((MessageType)(it)).IsRead == false)
{
&nbs