7

標頭,我的收件箱設立在交流,[email protected]Exchange Web服務(EWS)API「」爲別名

此外,對於這樣的一個別名,[email protected],所以所有的電子郵件到news地址結束於hello收件箱。

理想情況下,我希望能夠使用EWS知道哪個別名已經發送到一個電子郵件。

當我發送電子郵件至[email protected],並檢查使用Microsoft Outlook郵件的Internet郵件頭中,To:頭讀取To: Hello <[email protected]>這正是我想看到的。

但是,使用EWS時,當我查看郵件的ToRecipients屬性時,報告的電子郵件地址始終爲主SMTP地址。此外,Webservices.Data.Item的InternetMessageHeaders屬性不包含To:屬性。我也無法看到使用EWSEditor來檢查消息的所有屬性的正確地址。

答案this forum post似乎表明,

...一個消息被髮送到存儲在收件人的集合關於實際電子郵件地址的信息,你不能訪問(exportmessage之外)在EWS ...

我怎麼會去這樣做編程,所以我可以找到正確的To:地址?

+0

我碰到完全相同的問題,你有沒有找到解決的辦法? – HeavenCore 2012-05-18 10:48:40

+0

@HeavenCore,不幸的是,我們最終在電子郵件主題行中添加了一個hashtag,告訴我們的應用程序如何處理電子郵件。例如「blah blah #news」的主題將作爲新聞項目進行處理。 – RYFN 2012-05-18 10:57:37

+1

當然,無論如何,如果我找到任何我會讓你知道的。 – HeavenCore 2012-05-18 10:59:02

回答

6

這個工作對我來說:

private static string GetToAddress() 
    { 
     ExchangeService exService = new ExchangeService(); 
     exService.Credentials = new NetworkCredential("username", "password", "domain"); 
     exService.Url = new Uri("https://youraddress/EWS/Exchange.asmx"); 

     ExtendedPropertyDefinition PR_TRANSPORT_MESSAGE_HEADERS = new ExtendedPropertyDefinition(0x007D,MapiPropertyType.String); 
     PropertySet psPropSet = new PropertySet(BasePropertySet.FirstClassProperties) 
            {PR_TRANSPORT_MESSAGE_HEADERS, ItemSchema.MimeContent}; 

     FindItemsResults<Item> fiResults = exService.FindItems(WellKnownFolderName.Inbox, new ItemView(1)); 
     foreach (Item itItem in fiResults.Items) 
     { 
      itItem.Load(psPropSet); 
      Object valHeaders; 
      if (itItem.TryGetProperty(PR_TRANSPORT_MESSAGE_HEADERS, out valHeaders)) 
      { 
       Regex regex = new Regex(@"To:.*<(.+)>"); 
       Match match = regex.Match(valHeaders.ToString()); 
       if (match.Groups.Count == 2) 
        return match.Groups[1].Value; 
      } 
      return ToAddress; 
     } 
     return "Cannot find ToAddress"; 
    } 

的代碼是: http://social.technet.microsoft.com/Forums/en-au/exchangesvrdevelopment/thread/1e5bbde0-218e-466e-afcc-cb60bc2ba692

+0

爲我工作。我需要添加更多的邏輯來爲多個收件人和多行解析出'To:'標題。 – Scott 2012-10-24 19:10:38

+0

有關此解決方案的任何經驗? – 2012-12-11 17:18:18

+0

我不知道爲什麼這不是答案。完全按照我需要的方式工作。 – Miles 2015-02-03 17:47:08

相關問題