Repository navigation
Multiple Email addresses #26866
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 Extend Accounts with multivalue properties (PropertyCollection) #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 make Provisioning API aware of multiple mails #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 Allow users to choose a different email for notifications #28422
-
coniguration option for setting notification mails and UI controls – Allow users to choose a different email for notifications #28422 and let user choose notification email in user settings #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)
- don' insert an email when one is already known (not safe of race conditions)
-
occ commands for adding and removing mails; and making one primary
-
Frontend email section in Vue with Integration Multiple Emails UI and Integration #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
Activity
bpcurse commentedon May 4, 2021
Will this close #15373, too?
Meaning all email address changes need to be verified, not just adding additional ones?
Linking it here as a reference/reminder to close it afterwards.
blizzz commentedon May 4, 2021
For now it is only additional addresses. User backend addresses are not always writable and may be provided directly by the user backend. If a looup server (something like a global addressbook) is being used, it will actually cause a confirmation (since it does not trust the provided data). Nevertheless, I see the use case for confirming those as well, when users are able to change it. It's not in scope here, maybe it can be dealt with as by-catch, but no promises.
13 remaining items
moltke69 commentedon Aug 20, 2024
If I could make a humble request: For me it would be also important, that the calendar recognizes also the multiple email addresses. E.g. there are two email-addresses for each user: userid@domain (internal for login) and firstname.lastname@domain (official). If you would invite with the "official email address" and the user clicks the "accept" button, the meeting is not added in your calendar, as the calendar app does not recognize the second email address. Thank you.
Mondane commentedon Jul 11, 2026
I just tested password reset and found out that the reset link is sent to the primary mail address. I'd expected to have this reset link sent to all addresses. I don't want to change my primary address, as that's the one I also use in Nextcloud Mail.
Maybe make it so that one can specify per mail address if it's to be used for a password reset and/or notifications.