[GH-ISSUE #298] [Feature Request] ICS viewer #198

Closed
opened 2026-03-15 13:08:55 +03:00 by kerem · 6 comments
Owner

Originally created by @t4keo on GitHub (May 17, 2024).
Original GitHub issue: https://github.com/axllent/mailpit/issues/298

Hi !

I was wondering if it would be possible to add an ICS content viewer when a mail contains an ICS file.
I would like to see a view of the content of it, something like it would be in GMail or any other provider (without the ability to accept or refuse of course) or in a proper table with properties translated so its a bit prettier than reading it in raw format (parsed date for example)

It could be in another tab in the mail view and if it can have an "agenda view" to see where it would be placed in it, its a small bonus

Thanks in advance and let me know if you need more informations

Originally created by @t4keo on GitHub (May 17, 2024). Original GitHub issue: https://github.com/axllent/mailpit/issues/298 Hi ! I was wondering if it would be possible to add an ICS content viewer when a mail contains an ICS file. I would like to see a view of the content of it, something like it would be in GMail or any other provider (without the ability to accept or refuse of course) or in a proper table with properties translated so its a bit prettier than reading it in raw format (parsed date for example) It could be in another tab in the mail view and if it can have an "agenda view" to see where it would be placed in it, its a small bonus Thanks in advance and let me know if you need more informations
kerem 2026-03-15 13:08:55 +03:00
Author
Owner

@axllent commented on GitHub (May 17, 2024):

Can you please explain what information you would like to see exactly, and in what layout/format? Is it just the description, "when" (date & time) and guests?

<!-- gh-comment-id:2117450650 --> @axllent commented on GitHub (May 17, 2024): Can you please explain what information you would like to see exactly, and in what layout/format? Is it just the description, "when" (date & time) and guests?
Author
Owner

@t4keo commented on GitHub (May 17, 2024):

To make it very simple in a first integration, just a new tab "ICS" containing a table with 2 columns like below is already good because I wouldn’t have to download it to see what’s inside. As said previously, if some properties could be explained or parsed it would be a good thing like for Date Start, end and stamp.

PROPERTY VALUE 
DTSTART 20240517T120000Z
DTEND 20240517T140000Z

or with parsed values (at GMT +2 to show parsing)

PROPERTY VALUE 
DTSTART 2024-05-17 14:00:00 (parsed with user browser format and timezone)
DTEND 2024-05-17 16:00:00 (parsed with user browser format and timezone)

I don’t really know how it could be shapped better to make it more pretty tho

<!-- gh-comment-id:2117512231 --> @t4keo commented on GitHub (May 17, 2024): To make it very simple in a first integration, just a new tab "ICS" containing a table with 2 columns like below is already good because I wouldn’t have to download it to see what’s inside. As said previously, if some properties could be explained or parsed it would be a good thing like for Date Start, end and stamp. PROPERTY | VALUE  ---|--- DTSTART | 20240517T120000Z DTEND | 20240517T140000Z or with parsed values (at GMT +2 to show parsing) PROPERTY | VALUE  ---|--- DTSTART | 2024-05-17 14:00:00 (parsed with user browser format and timezone) DTEND | 2024-05-17 16:00:00 (parsed with user browser format and timezone) I don’t really know how it could be shapped better to make it more pretty tho
Author
Owner

@axllent commented on GitHub (May 17, 2024):

To be honest, at this stage I'm not keen to add another tab for just this, or to just list keys/values from the ICS as that isn't user friendly (nor does it mean it was interpreted correctly client side).

I think a browser-parsed (JavaScript) display is the way to go, so I'll look into integrating it into the main message view (maybe similar to how Gmail does it, but probably below where the attachment icons are or something, or as a modal when the ICS is clicked).

Leave this with me 👍

<!-- gh-comment-id:2118306255 --> @axllent commented on GitHub (May 17, 2024): To be honest, at this stage I'm not keen to add another tab for just this, or to just list keys/values from the ICS as that isn't user friendly (nor does it mean it was interpreted correctly client side). I think a browser-parsed (JavaScript) display is the way to go, so I'll look into integrating it into the main message view (maybe similar to how Gmail does it, but probably below where the attachment icons are or something, or as a modal when the ICS is clicked). Leave this with me 👍
Author
Owner

@axllent commented on GitHub (May 18, 2024):

I have added this new feature in v1.18.3. It turns out parsing an iCalendar file is actually quite complicated, despite being such a simple format. The main issue I have encountered in working with timezones and recurring events, so I have completely ignored that for now until it actually turns out it is a problem.

Then I discovered that some applications (eg: Office365) don't actually attach an ics file as such, but rather "embed" the ics as an unnamed message part. Mailpit ignores these entirely. Google embed it too, but also attach an ics file (effectively duplicating the info twice in every email). Anyway, at this stage I have focused on just the ics attachments (ie: the ones Mailpit already saw as attachments). Clicking on the attachment at the bottom of a message will open a modal window with a summary which also provides a download link (from the modal).

Looking forward to your feedback.

<!-- gh-comment-id:2118801609 --> @axllent commented on GitHub (May 18, 2024): I have added this new feature in v1.18.3. It turns out parsing an iCalendar file is actually quite complicated, despite being such a simple format. The main issue I have encountered in working with timezones and recurring events, so I have completely ignored that for now until it actually turns out it is a problem. Then I discovered that some applications (eg: Office365) don't actually attach an ics file as such, but rather "embed" the ics as an unnamed message part. Mailpit ignores these entirely. Google embed it too, but also attach an ics file (effectively duplicating the info twice in every email). Anyway, at this stage I have focused on just the ics attachments (ie: the ones Mailpit already saw as attachments). Clicking on the attachment at the bottom of a message will open a modal window with a summary which also provides a download link (from the modal). Looking forward to your feedback.
Author
Owner

@t4keo commented on GitHub (May 21, 2024):

Awesome !

Hope it will please other people also. Maybe the integration of the recursivity or timezone will appear in a later issue but as far as I need it, it’s a great implementation and time saving feature.

Thanks for the fast integration :)

<!-- gh-comment-id:2122238037 --> @t4keo commented on GitHub (May 21, 2024): Awesome ! Hope it will please other people also. Maybe the integration of the recursivity or timezone will appear in a later issue but as far as I need it, it’s a great implementation and time saving feature. Thanks for the fast integration :)
Author
Owner

@axllent commented on GitHub (May 21, 2024):

Timezone & recursivity may be added down the track if there is a demand, but I'm not going to plan that in at this stage as it's not a simple implementation, and I don't know if the benefit outweighs the effort needed to get that working. Sometimes one can put a lot of hours into developing something that nobody uses/needs :)

You're welcome, and I hope it helps you! I'll close this ticket now, thanks.

<!-- gh-comment-id:2122303775 --> @axllent commented on GitHub (May 21, 2024): Timezone & recursivity may be added down the track if there is a demand, but I'm not going to plan that in at this stage as it's not a simple implementation, and I don't know if the benefit outweighs the effort needed to get that working. Sometimes one can put a lot of hours into developing something that nobody uses/needs :) You're welcome, and I hope it helps you! I'll close this ticket now, thanks.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/mailpit#198
No description provided.