【问题标题】:Not getting invite acceptation email in ical4j在 ical4j 中没有收到邀请接受电子邮件
【发布时间】:2021-08-08 23:58:20
【问题描述】:

我正在使用 iCal4j 发送日历邀请。我可以将邀请发送给用户。但是当用户接受邀请时,我没有收到回复邮件。

net.fortuna.ical4j.model.Calendar cal = new net.fortuna.ical4j.model.Calendar();
cal.getProperties().add(new ProdId("//Google Inc//Google Calendar 70.9054//EN"));
cal.getProperties().add(Version.VERSION_2_0);
cal.getProperties().add(CalScale.GREGORIAN);

System.setProperty(CompatibilityHints.KEY_OUTLOOK_COMPATIBILITY, "true");

java.util.Calendar c1 = java.util.Calendar.getInstance();
c1.add(java.util.Calendar.HOUR, 1);
c1.add(java.util.Calendar.DATE, 1);
DateTime start = new DateTime(c1.getTime());
c1.add(java.util.Calendar.HOUR, 1);
DateTime end = new DateTime(c1.getTime());

VEvent vEvent = new VEvent();
vEvent.getProperties().add(new DtStart(start));
vEvent.getProperties().add(new DtEnd(end));
vEvent.getProperties().add(Clazz.PUBLIC);

Organizer organizer = new Organizer(URI.create("mailto:mail@gmail.com"));
organizer.getParameters().add(new Cn("mail@gmail.com"));
vEvent.getProperties().add(organizer);

UidGenerator uid = new RandomUidGenerator();
vEvent.getProperties().add(uid.generateUid());


Attendee attendee1 = new Attendee(URI.create("mailto:mail@yahoo.com"));
attendee1.getParameters().add(CuType.INDIVIDUAL);
attendee1.getParameters().add(Role.REQ_PARTICIPANT);
attendee1.getParameters().add(PartStat.NEEDS_ACTION);
attendee1.getParameters().add(Rsvp.TRUE);
attendee1.getParameters().add(new Cn("mail@yahoo.com"));
vEvent.getProperties().add(attendee1);

vEvent.getProperties().add(new Description("some description");
vEvent.getProperties().add(new Location("location"));
vEvent.getProperties().add(Status.VEVENT_CONFIRMED);
vEvent.getProperties().add(new Summary("Invite summery"));
vEvent.getProperties().add(Transp.OPAQUE);

有什么建议吗???

【问题讨论】:

    标签: java spring-boot maven icalendar ical4j


    【解决方案1】:

    发送日历邀请时,您需要包含指示客户端软件(例如 Outlook 等)应如何处理事件的指令。这是通过 METHOD 属性完成的:

    http://ical4j.github.io/docs/ical4j/api/3.0.26/net/fortuna/ical4j/model/property/Method.html

    通常您可以将METHOD:PUBLISH 用于不需要响应的事件,或者将METHOD:REQUEST 用于您希望接受/拒绝响应的位置。

    因此,如果您在邀请中添加 METHOD:REQUEST 属性,您应该会收到回复。

    【讨论】:

    • 我已经在我的代码中指定了这一点,所以我得到了接受邀请的按钮,但它没有触发接受邮件。我还检查了已发送的项目
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-18
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 2018-06-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多