I am using PHP to generate an iCal invite to be sent to the inbox of an (MS365-based) Outlook room resource. The resource is set to auto process invites and correctly does so when invites are sent from Outlook, Zoom, GotoMeeting, etc.
When the PHP-generated invite hits the resource's inbox, it is correctly displayed as an invite, with an RSVP prompt, but the resource does not process it.
outlook invite display
I have compared my invite against those from Outlook and other providers and can't pin down any differences that seem like they should prevent a response.
Example of my iCal data:
BEGIN:VCALENDAR
METHOD:REQUEST
PRODID:Microsoft Exchange Server 2010
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Eastern Standard Time
BEGIN:STANDARD
DTSTART:16010101T020000
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=1SU;BYMONTH=11
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:16010101T020000
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=2SU;BYMONTH=3
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
ORGANIZER;CN=John Johnson:mailto:[email protected]
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=Main
Conference Room:mailto:[email protected]
DESCRIPTION;LANGUAGE=en-US:Test Meeting using handcrafted invite
description
UID:630f7c9ad9b5a630f7c9ad9b5b630f7c9ad9b5c
SUMMARY;LANGUAGE=en-US:Test Meeting using handcrafted invite
DTSTART:20220901T083000Z
DTEND:20220901T093000Z
CLASS:PUBLIC
PRIORITY:5
DTSTAMP:20220831T112200Z
TRANSP:OPAQUE
STATUS:CONFIRMED
SEQUENCE:0
LOCATION;LANGUAGE=en-US:
X-MICROSOFT-CDO-APPT-SEQUENCE:0
X-MICROSOFT-CDO-OWNERAPPTID:107365
X-MICROSOFT-CDO-BUSYSTATUS:TENTATIVE
X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
X-MICROSOFT-CDO-ALLDAYEVENT:FALSE
X-MICROSOFT-CDO-IMPORTANCE:1
X-MICROSOFT-CDO-INSTTYPE:0
X-MICROSOFT-DONOTFORWARDMEETING:FALSE
X-MICROSOFT-DISALLOW-COUNTER:FALSE
X-MICROSOFT-LOCATIONS:[]
BEGIN:VALARM
DESCRIPTION:REMINDER
TRIGGER;RELATED=START:-PT15M
ACTION:DISPLAY
END:VALARM
END:VEVENT
END:VCALENDAR
This is encoded as base64 in the email and passes validation.
Has anyone accomplished this? Is there anything jumping out that's preventing this from being processed correctly? Thanks in advance.
EDIT: I think maybe the room resource does not recognize itself as an attendee. When I direct this same invite to my personal inbox, Outlook displays an RSVP button in the message preview column and I see the text "[name of email sender] invited you on behalf of [organizer]". Both of these are missing when the invite goes to the resource. Compared to invites generated by Outlook, the attendee info is exactly the same. The time is also returned differently in my personal inbox(displays as if I'm in UTC), but this is a bridge I'll cross after the resource is accepting invites.
Our community is visited by hundreds of web development professionals every day. Ask your question and get a quick answer for free.
Find the answer in similar questions on our website.
Do you know the answer to this question? Write a quick response to it. With your help, we will make our community stronger.
PHP (from the English Hypertext Preprocessor - hypertext preprocessor) is a scripting programming language for developing web applications. Supported by most hosting providers, it is one of the most popular tools for creating dynamic websites.
The PHP scripting language has gained wide popularity due to its processing speed, simplicity, cross-platform, functionality and distribution of source codes under its own license.
https://www.php.net/
Welcome to the Q&A site for web developers. Here you can ask a question about the problem you are facing and get answers from other experts. We have created a user-friendly interface so that you can quickly and free of charge ask a question about a web programming problem. We also invite other experts to join our community and help other members who ask questions. In addition, you can use our search for questions with a solution.
Ask about the real problem you are facing. Describe in detail what you are doing and what you want to achieve.
Our goal is to create a strong community in which everyone will support each other. If you find a question and know the answer to it, help others with your knowledge.