Hello,
I would like to suggest an improvement for meeting invitations and cancellations sent by EspoCRM.
Currently, EspoCRM can send meeting invitations with a Meeting.ics file attached. In my tests, the sender address, SPF, DKIM and DMARC were correct, and the email itself was delivered properly.
However, Thunderbird did not recognize the message as a native calendar invitation. It treated it as a regular email with an ICS attachment. As a result, the recipient did not get native calendar actions such as Accept, Decline or Tentative.
The generated ICS content looked mostly correct. For example, invitations contained:
METHOD
UID:<event uid>
SEQUENCE:0
STATUS
ORGANIZER:MAILTO:organizer@example.com
ATTENDEE:MAILTO:participant@example.com
Cancellations contained:
METHOD
UID:<same event uid>
SEQUENCE:0
STATUS
One possible issue seems to be the MIME structure. The calendar data is currently sent as a separate attachment, for example:
Content-Type: text/calendar; name=Meeting.ics
Content-Disposition: attachment; name=Meeting.ics; filename=Meeting.ics
A working calendar invitation from another system used a structure where the text/calendar part was inside multipart/alternative:
multipart/mixed
multipart/alternative
text/plain
text/html
text/calendar; method=REQUEST
application/ics attachment
Would it be possible to improve EspoCRM’s meeting invitation emails so that they are more iTIP-compatible and recognized as native calendar invitations by clients such as Thunderbird, Outlook, Apple Calendar and Google Calendar?
Possible improvements could include:
Thank you.
Best regards, Martin
I would like to suggest an improvement for meeting invitations and cancellations sent by EspoCRM.
Currently, EspoCRM can send meeting invitations with a Meeting.ics file attached. In my tests, the sender address, SPF, DKIM and DMARC were correct, and the email itself was delivered properly.
However, Thunderbird did not recognize the message as a native calendar invitation. It treated it as a regular email with an ICS attachment. As a result, the recipient did not get native calendar actions such as Accept, Decline or Tentative.
The generated ICS content looked mostly correct. For example, invitations contained:
METHOD
UID:<event uid>
SEQUENCE:0
STATUS
ORGANIZER:MAILTO:organizer@example.com
ATTENDEE:MAILTO:participant@example.com
Cancellations contained:
METHOD
UID:<same event uid>
SEQUENCE:0
STATUS
One possible issue seems to be the MIME structure. The calendar data is currently sent as a separate attachment, for example:
Content-Type: text/calendar; name=Meeting.ics
Content-Disposition: attachment; name=Meeting.ics; filename=Meeting.ics
A working calendar invitation from another system used a structure where the text/calendar part was inside multipart/alternative:
multipart/mixed
multipart/alternative
text/plain
text/html
text/calendar; method=REQUEST
application/ics attachment
Would it be possible to improve EspoCRM’s meeting invitation emails so that they are more iTIP-compatible and recognized as native calendar invitations by clients such as Thunderbird, Outlook, Apple Calendar and Google Calendar?
Possible improvements could include:
- adding method=REQUEST or method=CANCEL to the text/calendar MIME part
- embedding the text/calendar part inside multipart/alternative
- keeping a separate ICS attachment as fallback
- increasing SEQUENCE for updates, cancellations and maybe replys
- ensuring cancellations use METHOD, STATUS, the same UID and the same organizer
Thank you.
Best regards, Martin

Comment