nextcloud / nextcloud/mail

Feature Request: Alphabetical/Domain-grouped Sorting of Aliases and Quick-Add from Received Messages

Open
#13,167 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop enhancement
Dominant language
JavaScript
Stars
1k
Forks
348
Avg merge
12h 28m
Merged PRs (30d)
91

Description

Is your feature request related to a problem? Please describe.

Managing email aliases (identities) in Nextcloud Mail can be improved with two lightweight UX enhancements:

  1. Alphabetical & Domain-grouped Sorting: Currently, email aliases are shown in the composer dropdown in the order they were created. For users with multiple aliases (often across different domains/hosts), this list becomes unorganized. I propose sorting the aliases first by domain (host) and then alphabetically by the local part (username). This naturally groups aliases belonging to the same domain together and keeps them structured.
  2. Quick-Add from Message Header: When using catch-all/wildcard domains, users frequently receive emails on new addresses that they want to reply from. To do this currently, they must navigate to Account Settings -> Aliases -> Add alias and manually copy-paste the address.
Describe the solution you'd like

I propose adding two lightweight enhancements:

  1. Structured Sorting: Automatically sort the alias list: first by domain/host (grouping them together), and then alphabetically by the username part. This can be handled entirely in the frontend dropdown or during the API fetch.
  2. "Register as Alias" Shortcut: Add a quick action button next to the recipient/sender address in the message detail view. Clicking it will trigger the existing "Add Alias" API with the selected email pre-filled, registering it as a new identity for the active account.
Describe alternatives you've considered
  1. Managing aliases via a configuration file (e.g. config.php or a text file):
    While this would avoid UI modifications, it requires server-side filesystem access. This is impossible for non-admin users (especially on managed hosting) and breaks Nextcloud's multi-user architecture, where each user must manage their own identities.

  2. Manual Drag-and-Drop Reordering:
    I considered implementing a full drag-and-drop interface to allow custom sorting. However, this would require persisting a custom order index, necessitating a database schema migration (e.g., adding a sorting column to the mail_aliases table). To keep the implementation footprint lightweight, sorting by domain and username is a much cleaner, zero-migration solution.

  3. Manual Copy-Paste (Status Quo):
    Leaving it as is requires the user to open settings, find the alias section, copy-paste the address, and save. This disrupts the communication workflow.

Additional context

I would like to implement this and submit a Pull Request. Since these changes are purely frontend/controller-based and require no database migrations, the implementation footprint will be very light.

Would the maintainers be open to accepting a PR with this scope?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the alias dropdown and the message detail view, then inspect the existing Add Alias API and how aliases are currently fetched and displayed. Done means aliases are grouped by domain and sorted by local part, and a message address can be registered through the proposed shortcut with the address pre-filled.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
api, frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.