Configurable e-mail address for service desk
Problem
I wanted to close #2201 (closed) as something has been delivered. Unfortunately what was delivered doesn't match the requirement, but it will be much easier to start a fresh issue to clarify.
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.
Problem Validation
This problem has been discussed numerous times, most recently under #2201 (closed), where some viable solutions have been proposed.
Proposal
Minimal
Released in 16.4
.
Click to expand proposal and iteration plan
- MRs
- Required database fields in
service_desk_settings
table - Feature Flag
service_desk_custom_email
- Sending Service Desk emails (
thank_you
andnew_note
) via SMTP delivery method using the given credentials when enabled
- MRs
- Adds verification for Service Desk custom email (!111303 - closed) (too large, will be broken down into smaller parts)
- Adds Service Desk custom email verification mod... (!112938 - merged)
- Moves Service Desk custom email credentials to ... (!114917 - merged)
- Adds service desk verification triggered email (!116037 - merged)
- Adds service desk custom email verification res... (!116370 - merged)
- Adds Service Desk custom email verification email (!116664 - merged)
- Adds state machine to Service Desk Custom Email... (!118523 - merged)
- Fix different initial value warning in custom e... (!119934 - merged)
- Adds Service Desk custom email verification ser... (!120758 - merged)
- Adds custom email verification email ingestion (!123681 - merged)
- Adds validation to custom_email_enabled in Serv... (!125528 - merged)
-
✔ Send a special email that tests the following: Correct credentials, support for subaddressing, email forwarding with correctFrom
headers -
✔ Save the verification state in its own model and wait for verification before you can enable and use the feature -
✔ Send emails that notify the project owner (and user?) about the state of the validation process -
✔ Add cleanup worker cronjob that closes started but overdue verifications
-
✔ Custom emailCreate
andDestroy
Services !125416 (merged) -
✔ CustomEmailController
, single resource API endpoint !125891 (merged) -
✔ Settings page details- Pushes service_desk_custom_email feature flag t... (!124159 - merged)
- Renames customEmail to serviceDeskEmail in Serv... (!124173 - merged)
- Adds Service Desk settings custom email compone... (!126532 - merged)
- Adds Service Desk settings custom email form co... (!128095 - merged)
- Adds Service Desk settings custom email verific... (!128637 - merged)
- Reworks custom email settings and adds `failed`... (!129004 - merged)
- Remove custom address wording for service_desk_... (!124359 - merged)
- Adds initial documentation for Service Desk cus... (!128138 - merged)
Other
-
✅ Follow-up: Add logging to custom email address ... (#415594 - closed) -
✅ Display custom email address in banner in SD list view - Service Desk Verification: Send verification ma... (#412885)
- Use proposed workflow for custom email settings... (#421689)
-
✅ Mail::SMTP monkey patch overrides defaults (#423268 - closed) with MR Prevents Mail::SMTP monkey patch from overridin... (!130185 - merged)
Ingest replies from custom email
-
✅ Custom email reply address (#423879 - closed)-
✔ Change theReply-To
email address to the custom email (with issue identification hash) Use Service Desk custom email as Reply-To email (!130336 - merged) -
✔ Change the service desk email ingestion that it also handles replies (like incoming email). Works natively because we scan for a reply key inDelivered-To
andReferences
header. - Add test coverage for custom email reply address ingestion. With
References
header and withDelivered-To
header.
-
16.8
(some 16.9
stretches)
Viable
-
Extend verification errors and check whether service_desk_email
was used instead ofincoming_email
-
Read reply key from custom email in To
andDelivered-To
headers to allow usage of MS Exchange transport rules for forwarding. Makes it possible to use MS on GitLab SaaS -
Improve documentation for Microsoft Exchange users -
Feature flag removed
Release notes
Click to expand
Configure a custom email address to show as the sender of your support communication. Maintain brand identity and instill confidence among support requesters with a domain they recognize.
Short feature overview video: https://www.youtube.com/watch?v=_moD5U3xcQs
Doc link: https://docs.gitlab.com/ee/user/project/service_desk/configure.html#custom-email-address