Событие VCal не отображается в Outlook
Я пытаюсь отправить приглашение iCal, но не могу показать его как событие в outlook, когда отправляю его через сервер Exchange. Если я использую внешний IMAP-сервер, все работает нормально, похоже, проблема с Exchange (возможно, какая-то конфигурация)
Это событие, ничего особенного (я пропустил информацию)
BEGIN:VCALENDAR
VERSION:2.0
METHOD:PUBLISH
BEGIN:VEVENT
DTSTAMP:20131205T154852Z
UID:20131205T154852Z-1
SUMMARY:I
X-ALT-DESC;FMTTYPE=text/html:
DTSTART:20131206T090000
DTEND:20131206T180000
ORGANIZER:mailto:
ATTENDEE;ROLE=REQ-PARTICIPANT;
END:VEVENT
END:VCALENDAR
Может быть, есть какой-то дополнительный заголовок, который я должен поставить, чтобы заставить Outlook видеть его как событие
Я отправляю его с помощью этого Java-кода через внутренний SMTP-сервер.
final MimeMessage message = getMimeMessage(mailSession, template);
Multipart multipart = new MimeMultipart();
message.setContent(multipart);
Transport.send(message);
и эта библиотека (ical4j)
MimeBodyPart iCalEvent = new MimeBodyPart();
iCalEvent.addHeader("Content-Class", "urn:content-classes:calendarmessage");
net.fortuna.ical4j.model.Calendar calendar = createICalInvitation("1", subject, description, start, end, timeZone, recipients, location);
iCalEvent.setContent(calendar.toString(),"text/calendar;method=PUBLISH;charset=\"UTF-8\"");
multipart.addBodyPart(iCalEvent);
Согласно этой ошибке, Outlook должен иметь метод =PUBLISH, чтобы правильно отображать событие
1 ответ
Кажется, это было потому, что я использовал многочастное сообщение.
Когда я переключился на простой MimeMessage, все работало нормально.