我正在使用ical4j(版本3.0.1)将电子邮件发送到Outlook电子邮件地址(Office 365)。这是我在电子邮件中看到的内容:
您可以看到Calendar.ics附件,然后单击向下箭头可以将事件添加到Outlook日历中。这可行,但不如以下一项好。
当我在Outlook中为某人创建约会时,可以直接在电子邮件中看到约会信息和操作按钮(“接受”等),如下所示。
如何通过ical4j做到这一点?
更新1:
由于Arnaud的输入,我通过添加以下行来使代码工作:
icsCalendar.getProperties().add(Method.REQUEST);
并更新此链接:
messageBodyPart.setDataHandler(new DataHandler(new ByteArrayDataSource(icsCalendar.toString(), "text/calendar; charset=\"utf-8\"; method=REQUEST")));
答案 0 :(得分:1)
您的描述不包含icalendar流,因此无法检查邀请中是否存在所有必填属性。
假设REQUEST一切正常,那么在构造电子邮件时必须遵循某些规则。参见Multipart email with text and calendar: Outlook doesn't recognize ics