ICS电子邮件附件不适用于Exchange用户



我正在从Java web应用程序发送带有ICS附件的会议邀请电子邮件。当我将邮件发送给没有使用Exchange服务器的Outlook用户时,一切正常。他们得到适当的接受/拒绝按钮,并可以将会议添加到他们的日历中。

但是,对于Exchange服务器上的用户来说,这不起作用。他们收到会议邀请,但它将自己列为会议组织者,他们无法更改任何会议详细信息。他们不能接受或拒绝,也不能将其添加到日历中。

这几乎就像Exchange正在更改或不喜欢我们发送的ICS格式,但正常的Outlook处理得很好。

这是我们寄出的ICS。除了Gmail和非Exchange Outlook用户之外,还有谁知道我们可以做些什么来让这个功能对Exchange用户有效?

BEGIN:VCALENDAR
PRODID:-//fincrm//iCal4j 1.0//EN
VERSION:2.0
METHOD:REQUEST
BEGIN:VEVENT
UID:128
DTSTAMP:20110927T191127Z
DTSTART;VALUE=DATE-TIME:20110928T082000
DTEND;VALUE=DATE-TIME:20110928T085000
ACTION:DISPLAY
DESCRIPTION:Time is set to 8:20 AM
SEQUENCE:0
ORGANIZER:MAILTO:user1@ltest.com
LOCATION:Financial CRM Application
ATTENDEE:MAILTO:user2@test2.com
SUMMARY:CRM Task #128
END:VEVENT
END:VCALENDAR

谢谢你的建议。

我发现将ICS作为多部分MIME消息发送似乎对Gmail和Exchange都有效。下面是一些相关的Java代码("calendar"是ICS字符串)

    // Create an alternative Multipart
    Multipart mp = new MimeMultipart("alternative")
    BodyPart textPart = new MimeBodyPart();
    textPart.setText(eventDescription);
    BodyPart calPart = new MimeBodyPart();
    calPart.addHeader("content-class", "urn:content-classes:calendarmessage")
    calPart.setContent(calendar.toString(), "text/calendar;method=REQUEST")
    mp.addBodyPart(textPart);
    mp.addBodyPart(calPart);

我知道这是从一段时间以前,但你可以解决这个注册表修复在这里找到:

http://support.microsoft.com/kb/944094

我用Outlook 2010在Exchange 2010上进行了测试,当你是组织者时,它允许将第三方事件输入到日历中。

我发现,如果将组织者设置为您,那么Mac上的Outlook 2011将不提供将会议添加到您的日历中的功能。将Organizer从会议中移除似乎效果不错。

我还发现,如果ICS附件是而不是,则附加到多部分消息的最后一个项将被剥离。

相关内容

  • 没有找到相关文章

最新更新