Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Exchange 2010和c读取电子邮件内容并在文件夹之间移动项目#_C#_Exchangewebservices_Exchange Server 2010 - Fatal编程技术网

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

C# 使用Exchange 2010和c读取电子邮件内容并在文件夹之间移动项目#,c#,exchangewebservices,exchange-server-2010,C#,Exchangewebservices,Exchange Server 2010,我正在开发一个应用程序,它必须读取电子邮件内容并将电子邮件从一个文件夹移动到另一个文件夹,这是它必须支持的唯一两个功能。邮件服务器是Exchange 2010,我有足够的权限访问邮箱 我已经看到了一些关于EWS托管代码的帖子,但我肯定对所有这些信息感到迷茫。你能解释一下这一点,并建议实现这一点的最佳方法吗 Ps.使用VS 2015和.net framework 4.5 更新:在下面找到一个使用EWS管理API的快速测试 ExchangeService service = new Exchange

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

我已经看到了一些关于EWS托管代码的帖子,但我肯定对所有这些信息感到迷茫。你能解释一下这一点,并建议实现这一点的最佳方法吗

Ps.使用VS 2015和.net framework 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("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();
我正在开发一个应用程序,它必须读取电子邮件内容并从一个文件夹中移动电子邮件

好的,因此您需要使用Exchange邮箱API来访问邮箱内容,在Exchange 2010上,可用于在文件夹之间移动邮件的可用API是MAPI(通过Outlook对象模型或第三方库,如Redemption)或Exchange Web服务(EWS)。(其他API,如POP、IMAP和Activesync也可以工作,但使用起来要困难得多)

找出使用哪个API是最好的,你需要考虑你的应用程序将在哪里运行。例如,如果你在Outlook中运行一个代码,那么使用OOM。如果要构建一个将在服务器上运行的应用程序,请使用EWS

我已经看到了一些关于EWS托管代码的帖子,但我肯定对所有这些信息感到迷茫

如果你打算编写和使用EWS应用程序,那么使用托管API是最好的方式,最好的方式是跳转到编写一些实际的代码,例如从

然后试试看

干杯
Glen

谢谢,我能够通过发送电子邮件(见上文)运行一个快速测试,只有两件事,(1)如果我在服务器上运行应用程序,它不需要覆盖SSL证书验证,仅当我在域中的计算机上运行时才需要。(2) 这个应用程序将是至关重要的,必须全天候运行,考虑到这一点,你认为EWS管理的API是更好的方法吗?再次感谢你,格伦!(1) 为什么首先要使用自签名证书,但这两种方法都很简单(2)如果服务器应用程序使用EWS,那么是的。它将在服务器上运行,而不是在Exchange服务器上运行,即使在这种情况下,我应该使用EWS而不是EWS管理的API?