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

时间:2011-09-28 04:15:48

标签: exchange-server attachment icalendar

我发送会议邀请函作为电子邮件,其中包含来自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

感谢您的建议。

3 个答案:

答案 0 :(得分:1)

我已经发现将ICS作为Multipart 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);

答案 1 :(得分:0)

我知道这是前一段时间,但您可以使用此处找到的注册表修复解决此问题:

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

我使用在Exchange 2010上运行的Outlook 2010对此进行了测试,当您是组织者时,这允许将第三方事件输入日历。

答案 2 :(得分:0)

我发现如果将组织者设置为您,则Mac上的Outlook 2011将不会将会议添加到您的日历中。从会议中删除管理器似乎运作良好。

我还发现,如果ICS附件附加到多部分邮件的最后项,则会将其删除。