nextcloud / nextcloud/server

Multiple Email addresses

Open
#26,866 4 comments 6 reactions 1 assignee View on GitHub

A pull request for this has already been merged.

2. developing enhancement feature: users and groups overview
Dominant language
PHP
Stars
36.9k
Forks
5.2k
Avg merge
2d 3h
Merged PRs (30d)
713

Description

Allow users to set multiple email addresses, and select one as primary address. Confirmation via link is required. Additional addresses are being considered in e.g. share dialogues.

  • \OC(P)\Accounts\ components are extended to support multi-value properties in general and emails in particular https://github.com/nextcloud/server/pull/27189

  • \OCA\Settings\Controller\UsersController methods are discontinued in favor of User Provisining API. Currently they exist in parallel. The User Provisioning API has to be extended accordingly https://github.com/nextcloud/server/pull/27474

  • \OCA\DAV\CardDAV\Converter::createCardFromUser has to be extended to support additional multiple values

  • Mail verification has to be implemented (following the password reset, same mechanisms) – part of https://github.com/nextcloud/server/pull/28422

  • coniguration option for setting notification mails and UI controls – https://github.com/nextcloud/server/pull/28422 and https://github.com/nextcloud/server/pull/28840

  • Email uniquness cannot be guaranteed through DB structure (for they are not unique and would potentially break setups). It is ensured when creating and verifying additional email addresses.

    • don' insert an email when one is already known (not safe of race conditions)
      • when an email is confirmed, ensure that the same pending addresses are removed (handling a potential race condition)
      • And when an email is introduced by the user backend:
      • if the additional address state is…
        • not verified: → remove it
        • verified:
          • same user: remove additional i.e. remove duplicate
          • different user: write to audit log (this is then something only the admin can resolve)
  • occ commands for adding and removing mails; and making one primary

  • Frontend email section in Vue with Integration https://github.com/nextcloud/server/pull/27379

  • Preserve order and scope of additional emails

    • When updating an additional email address the order is not preserved
    • Scope is also not preserved for the updated email

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.