如何在没有Outlook的情况下通过邮件发送Outlook任务请求?

tig*_*rou 6 c# icalendar outlook asp-classic tnef

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

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

它工作得很好,但是outlook没有发送任务的等价:

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

我检查了自己在包含任务请求的邮件中确切发送的内容:它包含一个编码为的winmail.dat文件(content-type:application/ms-tnef)Base64.在该文件(这是一个二进制文件)中,有一个参考IPM.TaskRequest,似乎是我需要的.

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

jer*_*enh 0

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

但是,您看过 Exchange Web 服务吗?它提供了一个完整的对象模型来与 Outlook 集成。显然它与 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