Adds state machine to Service Desk Custom Email Verification
Feature context
Click to expand 👇
Right now it is not possible to customize the Service Desk email address (intake and sending) in its entirety. On self-hosted instances you have more control over the used addresses, but you will still have a rather cryptic target email address for a specific service desk in a project. For .com users it's currently not possible to customize the Service Desk email at all.
There is a proposal and a further exploration around this issue. A summary of the solution path is the following: Users set up their custom email to forward all emails to the cryptic Service Desk email and provide SMTP credentials so we can send emails on their behalf. This way customers seeking support will only see the custom email address in their communication.
There is further discussion about improving and changing the general infrastructure, but this approach is a MVC to solve the issue for our customers.
🗺 How does it contribute to the whole feature?
Click to expand 👇
This MR is the second part in a series of MRs that will follow in order to complete this feature. See #329990 (comment 1227384943) for a detailed breakdown. Here's a summary:
-
✅ Using SMTP credentials. Foundation work. -
🎯 Verify email ownership, correct function and setup Adds state machine to Service Desk Custom Email Verification - Ingest replies from custom email
- Add settings and validation to Settings page
- Add documentation
What does this MR do and why?
service_desk_custom_email
and is not enabled on production yet
This MR adds a state machine to ServiceDesk::CustomEmailVerification
to ensure we follow the verification process.
- Start verification an move to
running
. This generates a verification token and records the start time. We will set the user that triggered the verification up front - An error occurred and we move to
error
and provide the error type up front. - The verification was successful and we move to
verified
and remove the verification token.
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.