Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.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# 如何在没有Outlook的情况下通过邮件发送Outlook任务请求?_C#_Asp Classic_Outlook_Icalendar_Tnef - Fatal编程技术网

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

C# 如何在没有Outlook的情况下通过邮件发送Outlook任务请求?,c#,asp-classic,outlook,icalendar,tnef,C#,Asp Classic,Outlook,Icalendar,Tnef,我需要复制Outlook功能以向某人发送一些任务请求(),但使用ASP.NET C#从Web服务器发送邮件,并且在Web服务器上未安装Outlook(因此无法使用Outlook automation) 我已经检查了执行此操作的可能性,向某人发送任务的常见方法似乎是以iCalendar格式生成.ics文件,并将该文件包含到邮件中() 它工作得很好,但是outlook发送的任务没有等效性: 事件(VEVENT)有一个开始日期和结束日期(类似于任务),但没有“完成”字段(这是有意义的,因为它是一个事

我需要复制
Outlook
功能以向某人发送一些任务请求(),但使用
ASP.NET C#
从Web服务器发送邮件,并且在Web服务器上未安装Outlook(因此无法使用Outlook automation)

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

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

  • 事件(VEVENT)有一个开始日期和结束日期(类似于任务),但没有“完成”字段(这是有意义的,因为它是一个事件,而不是任务)
  • TODO(VTODO)只有到期日,没有开始日期或结束日期
我检查了Outlook在包含任务请求的邮件中到底发送了什么:它包括一个
winmail.dat
文件(内容类型为
application/ms tnef
),编码为
Base64
。在该文件(一个二进制文件)中,有一个对
IPM.TaskRequest
的引用,这似乎是我所需要的


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

即使web服务器上安装了outlook,服务器上的outlook自动化通常也是个坏主意

但是,您看过Exchange Web服务吗?它提供了与outlook集成的完整对象模型。显然,它与outlook(不同于ics)相关,但它似乎确实适合您的用例

EWS概述:


处理任务:

两个问题:1)是否需要安装Microsoft Exchange?或者它是一个独立的库,我可以添加到任何C#项目中吗?2) 我在您提交的页面中看到许多对Exchange 2010和Exchange 2007的引用。此解决方案是否适用于向使用Outlook 2003的用户发送任务请求?我不完全确定,但我相信EWS是Exchange server安装的一部分。对不起,我也不确定outlook 2003的向后兼容性。你有什么解决方案吗?