close

     using Microsoft.Exchange.WebServices.Data;                     //利用exchange EWS    

           var ews = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
          //  var ews = new ExchangeService(ExchangeVersion.Exchange2013_SP1);  //都可以  

         ews.Credentials = new WebCredentials("帳號", "密碼", "網域");

             //帳號  不可填mail address   帳號@XXXX.com    會掛

           // ews.AutodiscoverUrl("mailaddress");

           //20231121 不知為何掛了  the autodiscover service couldn't be located. 

            ews.Url= new Uri("https://server/EWS/Exchange.asmx");

            //  URL  可到exchange 查詢

            //  Get-WebServicesVirtualDirectory |Select name, *url* | fl

           //C#  讀取exchange mail

            if (ews != null)
            {
                ItemView view = new ItemView(300);
                view.OrderBy.Add(ItemSchema.DateTimeReceived, SortDirection.Ascending);
                FindItemsResults<Item> result = ews.FindItems(WellKnownFolderName.Inbox, view);
                foreach (Item item in result)
                {  

                    EmailMessage message = EmailMessage.Bind(ews, item.Id);

                    **message 就可取出mail的訊息了

                     C#  讀取exchange mail

             foreach (Microsoft.Exchange.WebServices.Data.Attachment attachment in message.Attachments)    \\取附檔
                    {
                        if (attachment is FileAttachment)
                        {
                            FileAttachment fileAttachment = attachment as FileAttachment;

                         C#  讀取exchange mail

                     fileAttachment.Load(path);      //附件下載

                      }
                 else // Attachment is an item attachment.
                        {
                            ItemAttachment itemAttachment = attachment as ItemAttachment;

                            itemAttachment.Load();

                          }

                 }

  message.Delete(DeleteMode.SoftDelete);     //刪除

}

 

ref. https://learn.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-set-the-ews-service-url-by-using-the-ews-managed-api

arrow
arrow
    文章標籤
    C# Email EWS exchange
    全站熱搜

    JosephChou 發表在 痞客邦 留言(0) 人氣()