2016-01-21 78 views
-1

在文件夾之間移動項目我正在研究必須讀取電子郵件內容並將電子郵件從一個文件夾移動到另一個文件夾的應用程序,這些是它必須支持的唯一兩個功能。郵件服務器是Exchange 2010,我有足夠的權限訪問郵箱。閱讀電子郵件內容並使用Exchange 2010和c#

我已經看到一些關於EWS託管代碼的帖子,但是我肯定輸了所有這些信息。您能否介紹一下這方面的情況,並提出完善方案的最佳方法?

Ps。使用VS 2015和.NET框架4.5

更新:在下面找到一個快速的測試使用EWS管理API

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013); 
//This will accept all certificates, regardless of why they are invalid 
ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true; 
service.Credentials = new WebCredentials("Administrator", "mypassword", "myexchangeserver.com"); 
service.Url = new Uri("https://myexchangeserver.com/EWS/Exchange.asmx"); 

EmailMessage email = new EmailMessage(service); 
email.ToRecipients.Add("[email protected]"); 
email.Subject = String.Format("HelloWorld at {0}", DateTime.Now); 
email.Body = new MessageBody("This is the first email I've sent by using the EWS Managed API."); 
email.Send(); 

回答

-1

我的工作是必須閱讀的電子郵件內容和移動應用程序從一個文件夾的郵件

好了,你就需要使用Exchange郵箱API來訪問郵箱的內容,在Exchange 2010中可用的API的塔您可以使用在文件夾之間移動消息的方式是MAPI(通過Outlook對象模型或第三方庫(如Redemption)或Exchange Web服務(EWS))。 (其他API如POP,IMAP和Activesync也可以使用,但使用起來更加困難)。

要確定哪個是最好的API,您需要考慮應用程序將要運行的位置,例如,如果構建在Outlook中運行的代碼,然後使用OOM。如果您構建要在服務器上運行的應用程序,請使用EWS。

我已經看到有關EWS託管代碼一些帖子,但我在所有這些信息肯定丟失。

如果你去寫,然後EWS應用程序中使用的託管API是最好的方式,最好的地方是跳進寫一些實際的代碼,例如,用

https://msdn.microsoft.com/en-us/library/office/dn567668(v=exchg.150).aspx

啓動

然後嘗試

https://msdn.microsoft.com/en-us/library/office/dn600291(v=exchg.150).aspx

乾杯 格倫

+0

謝謝,我能夠運行一個發送電子郵件的快速測試(見上),只有兩件事情,(1)如果我在服務器上運行應用程序,它不需要覆蓋SSL證書驗證,它只是當我從我的計算機上運行它的時候,這是需要的。 (2)這個應用程序將是至關重要的,並且必須全天候運行,考慮到您認爲EWS託管API是更好的方法?再次感謝Glen! – m0dest0

+1

(1)爲什麼首先使用自簽名證書,但這兩種方法都很平凡(2)是,如果它將成爲服務器應用程序,則使用EWS。 –

+0

即將在服務器上運行,但不在Exchange Server上運行,即使在這種情況下,我應該使用EWS而不是EWS託管API? – m0dest0