Приложение электронной почты ICS не работает для пользователей Exchange - PullRequest
3 голосов
/ 28 сентября 2011

Я отправляю приглашение на собрание в виде электронного письма с вложением ICS из веб-приложения Java. Все отлично работает, когда я отправляю его пользователям Outlook, которые не используют сервер Exchange. Они получают соответствующие кнопки «Принять / Отклонить» и могут добавить встречу в свой календарь.

Однако, это не работает для пользователей, которые находятся на сервере Exchange. Они получают приглашение на собрание, но в нем указывается, что он является организатором собрания, и они не могут изменить какие-либо подробности встречи. Они не могут принять или отклонить и не могут добавить его в свой календарь.

Это почти как Exchange изменяет или не любит формат ICS, который мы отправляем, но обычный Outlook справляется с этим просто отлично.

Вот ICS, которую мы отправляем. Кто-нибудь знает, что мы можем изменить, чтобы это работало для пользователей Exchange, в дополнение к пользователям Gmail и 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 ]

1 голос
/ 25 января 2012

Я понял, что отправка 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);
0 голосов
/ 26 июля 2013

Я обнаружил, что если для вас настроен органайзер, Outlook 2011 на Mac не предложит добавить собрание в календарь.Удаление Организатора со встречи, кажется, работает достаточно хорошо.

Я также обнаружил, что если вложение ICS не , то элемент последний , прикрепленный к составному сообщению,это будет раздето.

0 голосов
/ 20 января 2012

Я знаю, что это давно, но вы можете решить это с помощью исправления реестра, найденного здесь:

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

Я проверил это в Outlook 2010, работающем на Exchange 2010, и это позволило сторонним событиям вноситься в календарь, когда вы являетесь организатором.

...