7

我需要复制Outlook特性/功能以向某人发送一些任务请求(请参阅此处),但是使用ASP.NET C#和未在网络服务器上安装 Outlook 的网络服务器发送的邮件(因此无法使用 Outlook 自动化)。

我已经检查了执行此操作的可能性,将任务发送给某人的常见方法似乎是生成格式.ics文件iCalendar,并将该文件包含到邮件中(请参阅此 stackoverflow 问题)。

它工作得很好,但是 Outlook 发送的任务不等同:

  • 事件 (VEVENT) 有一个开始日期和结束日期(就像一个任务),但没有“完成”字段(这是有意义的,因为它是一个事件,而不是一个任务)。
  • Todos (VTODO) 只有截止日期,没有开始日期或结束日期,outlook 不支持

我检查了自己 Outlook 在包含任务请求的邮件中究竟发送了什么:它包含一个winmail.dat编码content-type:application/ms-tnefBase64. 在该文件(这是一个二进制文件)中,有一个IPM.TaskRequest似乎是我需要的引用。

我检查了网络并找到了一些 TNEF 解析器,但我需要相反的:从 C# 代码生成一个包含任务请求的 TNEF 文件。我想知道是否有办法做到这一点。使用库(无论是否免费)都不是问题。

4

1 回答 1

0

即使 Outlook 安装在 Web 服务器上,服务器上的 Outlook 自动化通常也是一个坏主意。

但是,您是否查看过 Exchange Web 服务?它提供了一个完整的对象模型来与 Outlook 集成。显然它与前景相关(与 ics 不同),但它似乎确实适合您的用例。

EWS 概述:http: //msdn.microsoft.com/en-us/library/exchange/dd877045%28v=exchg.140%29.aspx

处理任务:http: //blogs.msdn.com/b/dhruvkh/archive/2012/04/06/working-with-tasks-using-exchange-web-services.aspx

于 2012-11-19T14:02:00.517 回答