Skip to content

Adds custom email controller

Marc Saleiko requested to merge ms-sd-custom-email-controller into master

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?

This MR is part of 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:

  1. Using SMTP credentials. Foundation work. Add Service Desk custom email foundation (!108017 - merged)
  2. Verify email ownership, correct function and setup
  3. 🎯 Add settings and validation to Settings page. Part 2: Controller for endpoint
  4. Ingest replies from custom email
  5. Add documentation

What does this MR do and why?

🎏 This feature is hidden behind a feature flag and not used on production yet.

In Adds custom email create and destroy service (!125416 - merged) we introduced two new services that will be called by a custom email controller. This MR introduces the controller:

  1. GET: Current state of custom email (also when nothing is configured, easier handling in frontend vue app)
  2. POST: Create custom email records and kick off the verification process
  3. PUT: Toggle usage of the custom email once verified
  4. DELETE: Remove all custom email records

Screenshots or screen recordings

🚫 backend only

How to set up and validate locally

🚫

Sign in a maintainer user and call endpoints with params (see spec for params list).

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Marc Saleiko

Merge request reports