ICS电子邮件附件对于Exchange用户不起作用
问题描述:
我正在从Java Web应用程序发送包含ICS附件的电子邮件的会议邀请。当我将它发送给未使用Exchange服务器的Outlook用户时,一切正常。他们得到适当的接受/拒绝按钮,并可以将会议添加到他们的日历中。ICS电子邮件附件对于Exchange用户不起作用
但是,对于Exchange服务器上的用户来说,事情并不适用。他们得到一个会议邀请,但它将自己列为会议组织者,他们无法更改任何会议详细信息。他们无法接受或拒绝,也无法将其添加到日历中。
这几乎就像Exchange正在改变或不喜欢我们发送的ICS格式,但正常的Outlook处理它就好了。
这是我们发送的ICS。有人知道我们可以更改哪些内容,以便为Gmail用户和非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:[email protected]
LOCATION:Financial CRM Application
ATTENDEE:MAILTO:[email protected]
SUMMARY:CRM Task #128
END:VEVENT
END:VCALENDAR
我很感谢您的建议。
答
我发现将ICS作为多部分MIME消息发送似乎适用于Gmail和Exchange。下面是一些相关的Java代码(“日历”的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上运行,这让第3当您是组织者时,第三方活动将被输入到日历中。
答
我发现,如果组织者设置为你,那么展望2011年的Mac将不会提供给会议添加到您的日历。从会议中删除组织者似乎工作得很好。
我还发现,如果ICS附件不的最后项附加到多的消息,它会被剥离。
我无法从正在生成ICS的应用程序控制用户注册表,所以这并没有真正的帮助。不过谢谢。 – Jeff