I'm using the webdav protocol to create event on icloud calendar, with this request :
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
BEGIN:VEVENT
UID:[email protected]
DTSTART:START_DATE
DTEND:END_DATE
SUMMARY:New event
ATTENDEE;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:EMAIL1
ATTENDEE;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:EMAIL2
END:VEVENT
END:VCALENDAR
Everything works fine, attendees are even added to the event, but I would like the server to send them invitations to the event.
Does anyone knows if / how is this possible ?
Yes, this is possible. The iCloud calendar supports scheduling as described in RFC 6638. Note that if an attendee has an iCloud account (the email is registered as an Apple-ID used with iCloud) the server won't send out emails. It will put the meeting request directly into the attendee's iCloud calendar and the matching iTIP into the attendees Inbox DAV collection.
In your case iCloud doesn't detect you as the organizer of the event and in consequence doesn't schedule the event as a meeting. To fix this, you need to add a proper ORGANIZER line. And if you don't want to confuse iCal.app, quite likely a matching ATTENDEE line.
Sample:
Assuming Nicola isn't registered in iCloud, he'll get an email invite (multipart part email with some webpage and the iMIP request). Donald won't get an email, the meeting will show up in his calendar right away, and he'll get a notification box in iCal.
The important part is that the ORGANIZER's email matches the iCloud account you are using to create the event. Ie when PUTting the event, you must be logged in as [email protected].
Note that the reverse is true as well. If you want to reply to a meeting invite (e.g. by setting the PARTSTAT of your attendee to ACCEPTED), you can need to be logged in as that meeting attendee.
P.S.: An iCloud user can tweak the email behavior in the iCloud calendar webapp preferences.