Skip to content

feat(forms): add respondent confirmation emails with optional email verification#3252

Open
QuiteBitter wants to merge 2 commits intonextcloud:mainfrom
AdventistenFiD:upstream-ready/04-email-verification
Open

feat(forms): add respondent confirmation emails with optional email verification#3252
QuiteBitter wants to merge 2 commits intonextcloud:mainfrom
AdventistenFiD:upstream-ready/04-email-verification

Conversation

@QuiteBitter
Copy link
Copy Markdown

What this changes

  • Adds respondent confirmation mails for short questions that use email validation and are explicitly marked as the confirmation recipient in extraSettings.
  • Adds an optional email verification flow for that recipient question. When verification is enabled, submissions stay unverified until the recipient uses the mailed verification link.
  • Sends the confirmation mail only after the submission is verified, so verified flows do not acknowledge unverified addresses.
  • Adds the public verification route, token persistence, and unit/integration coverage for the full submit -> verify -> confirm path.

Related issues

Upstream context

  • feat: Add confirmation email for form respondents #3098 already proposes confirmation mails. This branch intentionally follows the review direction there by using an explicit recipient flag on the question instead of auto-picking an email field, and then extends that flow with email verification.
  • forms currently supports Nextcloud 31-33. OCP\\Mail\\IEmailValidator is only available from Nextcloud 32 onward, so this implementation keeps IMailer::validateMailAddress() for 31 compatibility.

Scope / non-goals

  • Uses the configured system mail account and a fixed branded template.
  • Does not add per-form sender selection or custom subject/body templating yet.
  • Leaves generated locale catalogs out of the PR because Nextcloud translations are handled through Transifex.

Validation

  • Nextcloud 33: unit and integration suites passed.
  • Nextcloud 31: unit and integration suites passed.

@QuiteBitter QuiteBitter force-pushed the upstream-ready/04-email-verification branch from 6cebea4 to 59001b0 Compare April 1, 2026 02:04
Signed-off-by: Robert <admin@ro-bytes.de>
Signed-off-by: Robert <admin@ro-bytes.de>
@QuiteBitter QuiteBitter force-pushed the upstream-ready/04-email-verification branch from 59001b0 to 4dd2cce Compare April 1, 2026 02:18
@Chartman123
Copy link
Copy Markdown
Collaborator

Thanks for your PR! Please understand that we're currently migrating to Vue3 and won't merge new features until this has finished to minimize extra work.

Other than that: #525 is already addressed in #3098

@QuiteBitter
Copy link
Copy Markdown
Author

Thanks for your PR! Please understand that we're currently migrating to Vue3 and won't merge new features until this has finished to minimize extra work.

Other than that: #525 is already addressed in #3098

Okey, I will wait for this to complete :) good luck! After completion, I'll check what's needed to be done on my side.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants