summaryrefslogtreecommitdiffstats
path: root/app/email.go
diff options
context:
space:
mode:
authorCarlos Tadeu Panato Junior <ctadeu@gmail.com>2018-05-28 16:20:08 +0200
committerGitHub <noreply@github.com>2018-05-28 16:20:08 +0200
commitc3e9c414408a8c9c2806af12e659e395c605496f (patch)
tree26510a3576d891c01e1bd4a7595f24f50332ee21 /app/email.go
parentb6d5cc4f696b7438317948710efb860e11c0a1a9 (diff)
downloadchat-c3e9c414408a8c9c2806af12e659e395c605496f.tar.gz
chat-c3e9c414408a8c9c2806af12e659e395c605496f.tar.bz2
chat-c3e9c414408a8c9c2806af12e659e395c605496f.zip
[MM-1915] Add Deactivate Account - server side (#8699)
Diffstat (limited to 'app/email.go')
-rw-r--r--app/email.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/app/email.go b/app/email.go
index aa05cefdb..206c48aaa 100644
--- a/app/email.go
+++ b/app/email.go
@@ -322,6 +322,28 @@ func (a *App) NewEmailTemplate(name, locale string) *utils.HTMLTemplate {
return t
}
+func (a *App) SendDeactivateAccountEmail(email string, locale, siteURL string) *model.AppError {
+ T := utils.GetUserTranslations(locale)
+
+ rawUrl, _ := url.Parse(siteURL)
+
+ subject := T("api.templates.deactivate_subject",
+ map[string]interface{}{"SiteName": a.ClientConfig()["SiteName"],
+ "ServerURL": rawUrl.Host})
+
+ bodyPage := a.NewEmailTemplate("deactivate_body", locale)
+ bodyPage.Props["SiteURL"] = siteURL
+ bodyPage.Props["Title"] = T("api.templates.deactivate_body.title", map[string]interface{}{"ServerURL": rawUrl.Host})
+ bodyPage.Html["Info"] = utils.TranslateAsHtml(T, "api.templates.deactivate_body.info",
+ map[string]interface{}{"SiteURL": siteURL})
+
+ if err := a.SendMail(email, subject, bodyPage.Render()); err != nil {
+ return model.NewAppError("SendDeactivateEmail", "api.user.send_deactivate_email_and_forget.failed.error", nil, err.Error(), http.StatusInternalServerError)
+ }
+
+ return nil
+}
+
func (a *App) SendMail(to, subject, htmlBody string) *model.AppError {
license := a.License()
return utils.SendMailUsingConfig(to, subject, htmlBody, a.Config(), license != nil && *license.Features.Compliance)