+ {{ __dangerouslyInjectHTML `` }}
+
+
+
+
+
+ {{ __dangerouslyInjectHTML `` }}
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+
+ |
+
+
+
+
+ {{ __dangerouslyInjectHTML `` }}
+ |
+
+
+
+
+ {{ __dangerouslyInjectHTML `` }}
+
+
+
+
+
+ {{ __dangerouslyInjectHTML `` }}
+
+
+
+
+ |
+
+ Hi {{ .Name }},
+
+ |
+
+
+ |
+ Please click the following link to verify your email within {{ .VerificationEmailLifetimeHours }} hour(s).
+ |
+
+
+ |
+
+ |
+
+
+ |
+ You can also copy and paste this link into your browser directly:
+ |
+
+
+ |
+
+ |
+
+
+
+
+ {{ __dangerouslyInjectHTML `` }}
+ |
+
+
+
+
+ {{ __dangerouslyInjectHTML `` }}
+
+
+
+
+ |
+ {{ __dangerouslyInjectHTML `` }}
+
+ {{ __dangerouslyInjectHTML `` }}
+ |
+
+
+
+
+ {{ __dangerouslyInjectHTML `` }}
+
+
+
+
diff --git a/public/emails/verify_email_update.txt b/public/emails/verify_email_update.txt
new file mode 100644
index 00000000000..cfdd2665bec
--- /dev/null
+++ b/public/emails/verify_email_update.txt
@@ -0,0 +1,9 @@
+{{HiddenSubject .Subject "Verify your new email - {{.Name}}"}}
+
+Hi {{.Name}},
+
+Copy and paste the following link directly in your browser to verify your email within {{.VerificationEmailLifetimeHours}} hour(s).
+{{.AppUrl}}user/email/update?code={{.Code}}
+
+
+Sent by Grafana v{{.BuildVersion}} (c) {{now | date "2006"}} Grafana Labs
diff --git a/public/openapi3.json b/public/openapi3.json
index 14ae4182c7c..bfa8084a60b 100644
--- a/public/openapi3.json
+++ b/public/openapi3.json
@@ -23207,6 +23207,9 @@
"403": {
"$ref": "#/components/responses/forbiddenError"
},
+ "409": {
+ "$ref": "#/components/responses/conflictError"
+ },
"500": {
"$ref": "#/components/responses/internalServerError"
}
@@ -23241,6 +23244,21 @@
]
}
},
+ "/user/email/update": {
+ "get": {
+ "description": "Update the email of user given a verification code.",
+ "operationId": "updateUserEmail",
+ "responses": {
+ "302": {
+ "$ref": "#/components/responses/okResponse"
+ }
+ },
+ "summary": "Update user email.",
+ "tags": [
+ "user"
+ ]
+ }
+ },
"/user/helpflags/clear": {
"get": {
"operationId": "clearHelpFlags",
@@ -23911,6 +23929,9 @@
"404": {
"$ref": "#/components/responses/notFoundError"
},
+ "409": {
+ "$ref": "#/components/responses/conflictError"
+ },
"500": {
"$ref": "#/components/responses/internalServerError"
}