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
//
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的訊息了
foreach (Microsoft.Exchange.WebServices.Data.Attachment attachment in message.Attachments) \\取附檔
{
if (attachment is FileAttachment)
{
FileAttachment fileAttachment = attachment as FileAttachment;
fileAttachment.Load(path); //附件下載
}
else // Attachment is an item attachment.
{
ItemAttachment itemAttachment = attachment as ItemAttachment;
itemAttachment.Load();
}
}
message.Delete(DeleteMode.SoftDelete); //刪除
}