[GH-ISSUE #11] IDEA: Add selection box and sort features #8

Closed
opened 2026-03-15 12:02:36 +03:00 by kerem · 2 comments
Owner

Originally created by @Florent4782 on GitHub (Aug 30, 2022).
Original GitHub issue: https://github.com/axllent/mailpit/issues/11

Hello,

just trying to improve this already awesome job.

This could be nice to be able to select multiple mails to delete them at once.

Also, been able to sort the emails by column (sender, date, size, etc) would be great too.

Thanks,
Florent

Originally created by @Florent4782 on GitHub (Aug 30, 2022). Original GitHub issue: https://github.com/axllent/mailpit/issues/11 Hello, just trying to improve this already awesome job. This could be nice to be able to select multiple mails to delete them at once. Also, been able to sort the emails by column (sender, date, size, etc) would be great too. Thanks, Florent
kerem closed this issue 2026-03-15 12:02:41 +03:00
Author
Owner

@axllent commented on GitHub (Aug 30, 2022):

Thanks for the suggestions. I agree, multiple email selections would be a handy feature (though would be limited to the visible emails on the screen). I will at some point implement this.

Re: column sorting - whilst a nice feature (I have thought of this before), I decided against it for technical reasons. Firstly Mailpit streams new incoming emails directly to the browser, so automatically handles sorting (by the reversed order) and pagination (new messages are simply pushed to the top of the list when on the first page). If I was to implement column sorting, the browser would have no idea of the order to display them when new messages arrive, and trying to re-calculate that via the database on each received message isn't feasible as it would require a complex database lookup on each incoming message, and a browser request to "refresh". For a single message this isn't an issue, but when 50 emails per second are coming in.... Secondly, fields like size, received date, subject and to/from values are stored within a JSON field within the database, so sorting by these via a database lookup would be very CPU & disk intensive. A long story short, this isn't possible unfortunately.

<!-- gh-comment-id:1232139650 --> @axllent commented on GitHub (Aug 30, 2022): Thanks for the suggestions. I agree, multiple email selections would be a handy feature (though would be limited to the visible emails on the screen). I will at some point implement this. Re: column sorting - whilst a nice feature (I have thought of this before), I decided against it for technical reasons. Firstly Mailpit streams new incoming emails directly to the browser, so automatically handles sorting (by the reversed order) and pagination (new messages are simply pushed to the top of the list when on the first page). If I was to implement column sorting, the browser would have no idea of the order to display them when new messages arrive, and trying to re-calculate that via the database on each received message isn't feasible as it would require a complex database lookup on each incoming message, and a browser request to "refresh". For a single message this isn't an issue, but when 50 emails per second are coming in.... Secondly, fields like size, received date, subject and to/from values are stored within a JSON field within the database, so sorting by these via a database lookup would be very CPU & disk intensive. A long story short, this isn't possible unfortunately.
Author
Owner

@axllent commented on GitHub (Sep 3, 2022):

@Florent4782 Multi-select has been added to the 1.0.0 release. In order not to clutter the UI, this is a "hidden" feature which can be used by using shift-click or ctrl-click combinations on the current view in the message list.

<!-- gh-comment-id:1236066671 --> @axllent commented on GitHub (Sep 3, 2022): @Florent4782 Multi-select has been added to the 1.0.0 release. In order not to clutter the UI, this is a "hidden" feature which can be used by using shift-click or ctrl-click combinations on the current view in the message list.
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#8
No description provided.