使用Exchange 2010和c#读取电子邮件内容并在文件夹之间移动项目

时间:2016-01-21 03:35:23

标签: c# exchangewebservices exchange-server-2010

我正在开发一个必须阅读电子邮件内容并将电子邮件从一个文件夹移动到另一个文件夹的应用程序,这是它必须支持的唯一两个功能。邮件服务器是Exchange 2010,我有足够的权限来访问邮箱。

我一直在看一些关于EWS托管代码的帖子,但我肯定迷失在所有这些信息中。您能否对此有所了解,并就实现它的最佳方法提出建议?

聚苯乙烯。使用VS 2015和.net framework 4.5

更新:使用EWS Manage 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("userid@myexchangeserver.com");
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 个答案:

答案 0 :(得分:-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

干杯 格伦