ical4J:使Outlook约会信息和操作显示在电子邮件中

时间:2018-09-30 14:59:51

标签: javamail ical4j

我正在使用ical4j(版本3.0.1)将电子邮件发送到Outlook电子邮件地址(Office 365)。这是我在电子邮件中看到的内容:enter image description here

您可以看到Calendar.ics附件,然后单击向下箭头可以将事件添加到Outlook日历中。这可行,但不如以下一项好。

当我在Outlook中为某人创建约会时,可以直接在电子邮件中看到约会信息和操作按钮(“接受”等),如下所示。

enter image description here

如何通过ical4j做到这一点?

更新1:

由于Arnaud的输入,我通过添加以下行来使代码工作:

icsCalendar.getProperties().add(Method.REQUEST); 

并更新此链接:

messageBodyPart.setDataHandler(new DataHandler(new ByteArrayDataSource(icsCalendar.toString(), "text/calendar; charset=\"utf-8\"; method=REQUEST"))); 

1 个答案:

答案 0 :(得分:1)

您的描述不包含icalendar流,因此无法检查邀请中是否存在所有必填属性。

假设REQUEST一切正常,那么在构造电子邮件时必须遵循某些规则。参见Multipart email with text and calendar: Outlook doesn't recognize ics