【问题标题】:How to send Outlook tasks requests by mail without Outlook?如何在没有 Outlook 的情况下通过邮件发送 Outlook 任务请求?
【发布时间】:2012-11-07 10:50:38
【问题描述】:

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

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

效果很好,但是 Outlook 发送的任务不等同:

  • 事件 (VEVENT) 有开始日期和结束日期(类似于任务),但没有“完成”字段(这是有意义的,因为它是事件,而不是任务)。
  • 待办事项 (VTODO) 只有截止日期,没有开始日期或结束日期 and it is not supported by outlook

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

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

【问题讨论】:

  • 你有什么解决办法吗?

标签: c# asp-classic outlook icalendar tnef


【解决方案1】:

即使在 Web 服务器上安装了 Outlook,在服务器上自动化 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

【讨论】:

  • 两个问题:1) 是否需要安装 Microsoft Exchange?或者它是否可以作为一个独立的库使用,我可以添加到任何 C# 项目中? 2) 我在您提交的页面中看到许多对 Exchange 2010 和 Exchange 2007 的引用,此解决方案是否适用于向使用 Outlook 2003 的人发送任务请求?
  • 我不完全确定,但我相信 EWS 是您的 Exchange 服务器安装的一部分。我也不确定与 Outlook 2003 的向后兼容性,抱歉。
猜你喜欢
  • 2010-10-02
  • 2017-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
相关资源
最近更新 更多