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

Read email content and move items between folders with Exchange 2010 and c#

我正在开发一个必须读取电子邮件内容并将电子邮件从一个文件夹移动到另一个文件夹的应用程序,这是它必须支持的仅有的两个功能。邮件服务器是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();

I’m working on an application that must read the email content and move emails from one folder

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

要确定哪个是最好的 API 使用你需要考虑你的应用程序将去哪里 运行 例如,如果你在 outlook 中构建一个 运行 的代码然后使用OOM。如果您构建的应用程序将在服务器上 运行 然后使用 EWS。

I’ve been seeing some posts about EWS Managed Code but I’m certainly lost in all this information.

如果您打算编写 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

干杯 格伦