Cancelled mail ics showing "not supported" - outlook

Canceled invitation emails send to outlook has an attachment "not supported". This is the ics i'm using for cancel email invitation. Could someone help me to understand what i'm missing here.
PS: Gmail is able to parse this ics and it is removing the event from calendar.
BEGIN:VCALENDAR
VERSION:2.0
METHOD:CANCEL
PRODID:-//PYVOBJECT//NONSGML Version 1//EN
BEGIN:VEVENT
UID:fwefgWuxV6DNc1#QnzyZWc38uhPXw2
DTSTART:20190709T084500Z
DTEND:20190709T094500Z
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=DECLINED:mailto:p
rhrsei#helonp.com
CREATED:20190709T082113Z
DESCRIPTION:\nanfirst anlast has can
celled this meeting.\n\n************************************************\n
\nMessage/Description: canceled \n\n\n************************************
************\n\nHelop Company\n
DTSTAMP:20190709T082204Z
LAST-MODIFIED:20190709T082205Z
LOCATION:
ORGANIZER:mailto:reiuhfoiwetransf#helonp.com
SEQUENCE:1
STATUS:CANCELLED
SUMMARY:asia singapaore
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR
The above is working with an outlook exchange server, but it is failing on o365 desktop client and even in office web app.

I ran into a same issue recently and just figured out the solution.
Looks like Microsoft has updated how they valuate Ical emails.
So it's not the ICS file that's corrupted, but if you're sending out a cancellation, you'll probably have some header that may say method=REQUEST. This works on all platforms but looks like Microsoft is checking if this is method=CANCEL for cancellation emails.
If you have a header of method=REQUEST and your ICS file is meant to cancel a meeting, it will then be corrupt. You'll have to change it to method=CANCEL.
Hope that helps!

Related

Outlook doesn't send answer to event invitation via iCal

I am trying to send an invitation to an event in form of an iCal email attachment. I'm testing it with 3 clients: Zimbra, Gmail and Outlook. All three interpret the attachment correctly: They show the respective RSVP buttons (Accept/Tentative/Decline). However, after pressing the button, only Zimbra sends an email with an iCal file containing the answer. Gmail and Outlook don't.
Is this a normal behavior, or am I doing something wrong? I would expect the clients to send an email with an answer. Saving the data only to a local calendar doesn't make much sense to me.
Example of the iCal I am sending:
BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
PRODID:-//Calendar APP
METHOD:REQUEST
BEGIN:VEVENT
DTSTAMP:20180424T084322Z
DTSTART:20180424T000000
DTEND:20180424T235959
SUMMARY:e107
TZID:Europe/Vienna
LOCATION:Besprechungsraum 1
SEQUENCE:0
ORGANIZER:mailto:organizer#mail.com
UID:20180424T084322Z-confId=795:timeTableId=18997#fe80:0:0:0:e73:2050:cc3
d:6035%utun0
ATTENDEE;ROLE=REQ-PARTICIPANT;CN=;PARTSTAT=NEEDS_ACTION;RSVP=TRUE:mailto:
user#mail.com
ATTENDEE;ROLE=REQ-PARTICIPANT;CN=;PARTSTAT=NEEDS_ACTION;RSVP=TRUE:mailto:
another_user#mail.com
END:VEVENT
END:VCALENDAR
Thank you in advance.
Not sure you're still looking for an answer on this but I do know (from learning the hard way) that if you send your test message from a gmail account but are answering on behalf of a DIFFERENT gmail account, then gmail will not send back a response. So if you're using testacct1#gmail to send a recipient (testacct2#gmail) on behalf of a THIRD acct (testacct3#gmail) gmail will not send the reply. Google checks the sender against the invitee. If they don't match, you will not get a response.

Opening ICS file with multiple events creates new calendar in Outlook

I would like to be able to create an ICS file with multiple events that user will be able to import in their default Exchange Calendar. I need to support Outlook desktop client, Office 365 web interface and Apple iPhone Mail/Calendar.
Note that issue only occurs with ICS files that contain multiple events. Single event ICS works as expected.
Following multi-event ICS file:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//bobbin v0.1//NONSGML iCal Writer//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VEVENT
DTSTART:20180327T080000Z
DTEND:20180327T110000Z
DTSTAMP:20091130T213238Z
UID:1285935469767a7c7c1a9b3f0df8003a#yourserver.com
CREATED:20091130T213238Z
DESCRIPTION:Example event 1
LAST-MODIFIED:20091130T213238Z
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Example event 1
TRANSP:OPAQUE
END:VEVENT
BEGIN:VEVENT
DTSTART:20180328T120000Z
DTEND:20180328T130000Z
DTSTAMP:20091130T213238Z
UID:1285935469767a7c7c1a9b3f0df8003b#yourserver.com
CREATED:20091130T213238Z
DESCRIPTION:Example event 2
LAST-MODIFIED:20091130T213238Z
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Example event 2
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR
works fine in Office 365 web interface and Apple iPhone Mail/Calendar. However, when it is imported in Outlook 2016 it creates a new "Untitled" Calendar and puts events in it instead of default user calendar.
This seems to be a known issue referenced previously on SO:
ICal import creates new calendar When Open the ics file
Have ICS file with multiple events save to my Calendar, not Other Calendars
Answers range from "it cannot be done" to the opposite.
One of the posts in the first link mentions removing X-WR-CALNAME from ICS fixes the problem. I never had this in ICS to begin with.
Another post on the same page mentions that adding X-WR-RELCALID:XXXXXX fixes it. I tried putting it in and it makes no difference at all. I am not sure if value for X-WR-RELCALID should be set to something specific - I just set it to some GUID.
If someone successfully resolved it - can you post an ICS sample and what version of Outlook did it work with?

ical sync with basic auth under outlook

I've got a problem with ical sync with outlook.
My implementation works with other calendars like macOS, iOS calendars and thunderbird.
Outlook can't seem to find the calendar though.
Whenever I add the calendar in Outlook 2013 or 2010 it suggests that it correctly imported the calendar, doesn't display anything nor does it ask for authentication.
Although the ical file needs Basic Auth.
Any Ideas what Outlook does different or how I could further debug it?
Sample URL:
https://domain/caldav/2abd35d3-3b21-479f-85aa-a91598a686db.ics
URL for outlook:
webcal://domain/caldav/2abd35d3-3b21-479f-85aa-a91598a686db.ics
Sample Ical:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//schuchert//factro//EN
BEGIN:VEVENT
UID:02427fd7-2003-493e-93be-7f8e2679c478#factro
SEQUENCE:0
DTSTAMP:20170116T110547Z
DTSTART:20150824T063000Z
DTEND:20150824T151500Z
SUMMARY:Refactoring im Frontend
ORGANIZER;CN="marudor":mailto:marudor#marudor.de
END:VEVENT
END:VCALENDAR
Not sure about authentication itself but found out that for https you need to use webcals rather than webcal

ICS Email Attachment Not Working for Exchange Users

I am sending a meeting invitation as an email with an ICS attachment from a Java web application. Everything works fine when I send it to Outlook users who are not using an Exchange server. They get the appropriate Accept/Reject buttons and can add the meeting to their calendar.
Things are not working for users who are on an Exchange server, however. They get a meeting invite, but it lists themselves as the meeting organizer and they are unable to change any of the meeting details. They cannot accept or reject and cannot add it to their calendar.
It is almost like Exchange is altering or does not like the format of the ICS we are sending, but normal Outlook handles it just fine.
Here is the ICS we are sending. Does anyone know what we can change to make this work for Exchange users, in addition to Gmail and non-Exchange Outlook Users.
BEGIN:VCALENDAR
PRODID:-//fincrm//iCal4j 1.0//EN
VERSION:2.0
METHOD:REQUEST
BEGIN:VEVENT
UID:128
DTSTAMP:20110927T191127Z
DTSTART;VALUE=DATE-TIME:20110928T082000
DTEND;VALUE=DATE-TIME:20110928T085000
ACTION:DISPLAY
DESCRIPTION:Time is set to 8:20 AM
SEQUENCE:0
ORGANIZER:MAILTO:user1#ltest.com
LOCATION:Financial CRM Application
ATTENDEE:MAILTO:user2#test2.com
SUMMARY:CRM Task #128
END:VEVENT
END:VCALENDAR
I appreciate your suggestions.
I have figured out that sending the ICS as a Multipart MIME Message seems to work with both Gmail and Exchange. Here is some of the relevant Java code ("calendar" is the ICS string)
// Create an alternative Multipart
Multipart mp = new MimeMultipart("alternative")
BodyPart textPart = new MimeBodyPart();
textPart.setText(eventDescription);
BodyPart calPart = new MimeBodyPart();
calPart.addHeader("content-class", "urn:content-classes:calendarmessage")
calPart.setContent(calendar.toString(), "text/calendar;method=REQUEST")
mp.addBodyPart(textPart);
mp.addBodyPart(calPart);
I know that the is from a while ago, but you can solve this with the registry fix found here:
http://support.microsoft.com/kb/944094
I have tested this with Outlook 2010 running on Exchange 2010 and this allowed 3rd party events to be entered into the calendar when you are the organizer.
I have found that if the organizer is set to you, then Outlook 2011 on Mac will not offer to add the meeting to your Calendar. Removing the Organizer from the meeting seems to work well enough.
I have also found that if the ICS attachment is not the last item attached to a multipart message, it will be stripped.

How can I add an ICS meeting automatically to the Organizer's calendar?

Our java application generates ICalendar files using ical4j, and sends them out to users as part of an HTML e-mail notification. A couple of users (the Organizers of the meeting) report that the the "Accept", "Reject", etc. buttons for the meeting are grayed out, and unclickable. The meeting is not added to the Organizer's calendar.
How can I force the meeting to be added for the Organizer?
I configured the server temporarily to send the .ics file as an attachment (instead of inline), so that I could run it through a web-based ICalendar validator. The validator gave me a warning that the Version property was supposed to be the first property, but didn't find any other problems.
The ICalendar works normally for every user except the organizer.
I was able to reproduce the issue on my own Outlook account. I noticed that if I send the meeting notice through a gmail mail server, it works normally; but, when it comes from our internal Outlook server, it doesn't get added to the calendar.
A message is shown underneath the grayed-out meeting controls: "As the meeting organizer, you do not need to respond to this meeting."
Example ICalendar file generated by our system:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//MyCompany//Product//EN
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
DTSTAMP:20101202T210423Z
UID:77B17E9B-BE02-476E-816B-ED9558EE7D2A
DTSTART:20101230T133000
DTEND:20101230T143000
SUMMARY:Review Meeting for A1 CI Review #123456
LOCATION:BLDG - 123
CREATED:20101202T210423Z
LAST-MODIFIED:20101202T210423Z
TZID:America/New_York
ORGANIZER;CN="ORGANIZER, THE";SENT-BY="mailto:noemail#mycompany.com":mailto:myemail#mycompany.com
ATTENDEE;ROLE=REQ-PARTICIPANT;CN="ATTENDEE, SOME":mailto:noemail#mycompany.com
END:VEVENT
END:VCALENDAR
Edit:
I tried adding the meeting organizer as an "Optional to" participant. No dice; same behavior.
Edited the question again to reflect my progress on the issue.
It looks like this issue might be solvable by applying a HotFix to Outlook.
Description of the Outlook 2007 post-Service Pack 1 hotfix package: January 28, 2008
It seems it could be related to setting ExtractOrganizedMeetings in the registry. Worth a try.
See:
You cannot accept an invitation that
is in a third-party calendar format
in Outlook 2007
As the meeting organizer, you cannot
accept a meeting request in Outlook
2007 if you used a public Calendar
for the meeting that you created
Add an ORGANIZER to the ICS file. Apparently Outlook 2007 assumes the organizer is the current user whereas previous versions did not.

Resources