tangguo

是否在没有Outlook的情况下发送Outlook会议请求?

c

我只是想知道是否可以在不将Outlook安装在服务器上且不使用COM Interop的情况下向人们发送会议请求(我不惜一切代价避免在服务器上使用)。

我们在Windows 2003域中拥有Exchange 2003,并且所有用户都是域用户。我想我可以发送’round iCal / vCal之类的东西,但是我想知道是否存在通过Exchange在不使用Outlook的情况下发送会议请求的适当标准方法?

如果重要的话,这是C#/。net。


阅读 573

收藏
2020-10-22

共1个答案

一尘不染

将会议请求发送到Outlook(并使其被识别)的方式如下:

  • 准备iCalendar文件,请确保设置以下其他属性,因为Outlook需要它们:
    • UID
    • SEQUENCE
    • CREATED
    • LAST-MODIFIED
    • DTSTAMP
      准备multipart/alternative邮件:
    • 第1部分:(text/html或您喜欢的任何部分)-显示给“普通”邮件阅读器或作为后备,并以人类可读的形式包含事件的摘要
    • 第2部分:text/calendar; method=REQUEST,保存ics文件的内容(标头method参数必须与ics中的方法匹配)。注意正确的文本编码,声明charset标头参数不会有问题。
    • 第3部分:(可选)附加.ics文件本身,以便普通邮件阅读器可以为用户提供一些单击对象。Outlook并不需要附件,因为它只是读取text/calendar零件。
  • 将邮件发送给Outlook用户。如果一切正确,邮件将显示为会议请求,并带有出席按钮和接受后自动在用户日历中输入。
  • 设置一些处理响应的内容(它们去会议组织者)。我尚未能够自动跟踪与会者以使用Exchange邮箱,因为该事件在组织者日历中不存在。Outlook需要UID和SEQUENCES来满足其期望,但是使用UID弥补这一点几乎是行不通的。
    要获得有关ics文件格式的详细信息和特性的帮助,请务必访问Masahide Kanzaki的iCalendar规范摘录。它们是黑暗中的一盏灯,比than绕RFC 2445更好。但是话又说回来,也许存在一个方便的.NET库。
2020-10-22