Not getting invite acceptation email in ical4j

388 Views Asked by At

I am using the iCal4j for sending the calendar invite. I am able to send the invite to user. But when user accepting the invite I am not getting the revert mail.

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:[email protected]"));
organizer.getParameters().add(new Cn("[email protected]"));
vEvent.getProperties().add(organizer);

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


Attendee attendee1 = new Attendee(URI.create("mailto:[email protected]"));
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("[email protected]"));
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);

Any suggestion???

1

There are 1 best solutions below

1
fortuna On

When sending calendar invites you need to include directives that tell the client software (e.g. Outlook, etc.) how it should handle the event. This is done via the METHOD property:

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

Usually you would use either METHOD:PUBLISH for events that don't require a response, or METHOD:REQUEST where you want accept/decline response.

So if you add METHOD:REQUEST property to your invitation you should get a response.