summaryrefslogtreecommitdiffstats
path: root/app/email.go
diff options
context:
space:
mode:
authorCarlos Tadeu Panato Junior <ctadeu@gmail.com>2017-03-01 15:28:38 +0100
committerCorey Hulen <corey@hulen.com>2017-03-01 09:28:38 -0500
commite5065cf7575ee05c040945a4b00b7fd90bf39b83 (patch)
tree0129c2c5c4d15d6d00c93801c11a372b17751d78 /app/email.go
parentc1d5e9a9e630cc914fa0493beb88226576510ea7 (diff)
downloadchat-e5065cf7575ee05c040945a4b00b7fd90bf39b83.tar.gz
chat-e5065cf7575ee05c040945a4b00b7fd90bf39b83.tar.bz2
chat-e5065cf7575ee05c040945a4b00b7fd90bf39b83.zip
Make all emails with the same pattern on subject (#5198)
* make all email subject standard * move SendPasswordReset to app/email.go update per review * update email subjects per review update error fix expected subject * Update email_test.go * Update en.json * fix missing quotes
Diffstat (limited to 'app/email.go')
-rw-r--r--app/email.go52
1 files changed, 42 insertions, 10 deletions
diff --git a/app/email.go b/app/email.go
index 007a24505..61ee52c15 100644
--- a/app/email.go
+++ b/app/email.go
@@ -16,8 +16,9 @@ import (
func SendChangeUsernameEmail(oldUsername, newUsername, email, locale, siteURL string) *model.AppError {
T := utils.GetUserTranslations(locale)
- subject := fmt.Sprintf("[%v] %v", utils.Cfg.TeamSettings.SiteName, T("api.templates.username_change_subject",
- map[string]interface{}{"TeamDisplayName": utils.Cfg.TeamSettings.SiteName}))
+ subject := T("api.templates.username_change_subject",
+ map[string]interface{}{"SiteName": utils.ClientCfg["SiteName"],
+ "TeamDisplayName": utils.Cfg.TeamSettings.SiteName})
bodyPage := utils.NewHTMLTemplate("email_change_body", locale)
bodyPage.Props["SiteURL"] = siteURL
@@ -37,8 +38,10 @@ func SendEmailChangeVerifyEmail(userId, newUserEmail, locale, siteURL string) *m
link := fmt.Sprintf("%s/do_verify_email?uid=%s&hid=%s&email=%s", siteURL, userId, model.HashPassword(userId+utils.Cfg.EmailSettings.InviteSalt), url.QueryEscape(newUserEmail))
- subject := fmt.Sprintf("[%v] %v", utils.Cfg.TeamSettings.SiteName, T("api.templates.email_change_verify_subject",
- map[string]interface{}{"TeamDisplayName": utils.Cfg.TeamSettings.SiteName}))
+ subject := T("api.templates.email_change_verify_subject",
+ map[string]interface{}{"SiteName": utils.ClientCfg["SiteName"],
+ "TeamDisplayName": utils.Cfg.TeamSettings.SiteName})
+
bodyPage := utils.NewHTMLTemplate("email_change_verify_body", locale)
bodyPage.Props["SiteURL"] = siteURL
@@ -58,8 +61,9 @@ func SendEmailChangeVerifyEmail(userId, newUserEmail, locale, siteURL string) *m
func SendEmailChangeEmail(oldEmail, newEmail, locale, siteURL string) *model.AppError {
T := utils.GetUserTranslations(locale)
- subject := fmt.Sprintf("[%v] %v", utils.Cfg.TeamSettings.SiteName, T("api.templates.email_change_subject",
- map[string]interface{}{"TeamDisplayName": utils.Cfg.TeamSettings.SiteName}))
+ subject := T("api.templates.email_change_subject",
+ map[string]interface{}{"SiteName": utils.ClientCfg["SiteName"],
+ "TeamDisplayName": utils.Cfg.TeamSettings.SiteName})
bodyPage := utils.NewHTMLTemplate("email_change_body", locale)
bodyPage.Props["SiteURL"] = siteURL
@@ -122,7 +126,9 @@ func SendWelcomeEmail(userId string, email string, verified bool, locale, siteUR
rawUrl, _ := url.Parse(siteURL)
- subject := T("api.templates.welcome_subject", map[string]interface{}{"ServerURL": rawUrl.Host})
+ subject := T("api.templates.welcome_subject",
+ map[string]interface{}{"SiteName": utils.ClientCfg["SiteName"],
+ "ServerURL": rawUrl.Host})
bodyPage := utils.NewHTMLTemplate("welcome_body", locale)
bodyPage.Props["SiteURL"] = siteURL
@@ -154,7 +160,8 @@ func SendPasswordChangeEmail(email, method, locale, siteURL string) *model.AppEr
T := utils.GetUserTranslations(locale)
subject := T("api.templates.password_change_subject",
- map[string]interface{}{"TeamDisplayName": utils.Cfg.TeamSettings.SiteName, "SiteName": utils.Cfg.TeamSettings.SiteName})
+ map[string]interface{}{"SiteName": utils.ClientCfg["SiteName"],
+ "TeamDisplayName": utils.Cfg.TeamSettings.SiteName})
bodyPage := utils.NewHTMLTemplate("password_change_body", locale)
bodyPage.Props["SiteURL"] = siteURL
@@ -169,11 +176,34 @@ func SendPasswordChangeEmail(email, method, locale, siteURL string) *model.AppEr
return nil
}
+func SendPasswordResetEmail(email string, recovery *model.PasswordRecovery, locale, siteURL string) (bool, *model.AppError) {
+
+ T := utils.GetUserTranslations(locale)
+
+ link := fmt.Sprintf("%s/reset_password_complete?code=%s", siteURL, url.QueryEscape(recovery.Code))
+
+ subject := T("api.templates.reset_subject",
+ map[string]interface{}{"SiteName": utils.ClientCfg["SiteName"]})
+
+ bodyPage := utils.NewHTMLTemplate("reset_body", locale)
+ bodyPage.Props["SiteURL"] = siteURL
+ bodyPage.Props["Title"] = T("api.templates.reset_body.title")
+ bodyPage.Html["Info"] = template.HTML(T("api.templates.reset_body.info"))
+ bodyPage.Props["ResetUrl"] = link
+ bodyPage.Props["Button"] = T("api.templates.reset_body.button")
+
+ if err := utils.SendMail(email, subject, bodyPage.Render()); err != nil {
+ return false, model.NewLocAppError("SendPasswordReset", "api.user.send_password_reset.send.app_error", nil, "err="+err.Message)
+ }
+
+ return true, nil
+}
+
func SendMfaChangeEmail(email string, activated bool, locale, siteURL string) *model.AppError {
T := utils.GetUserTranslations(locale)
subject := T("api.templates.mfa_change_subject",
- map[string]interface{}{"SiteName": utils.Cfg.TeamSettings.SiteName})
+ map[string]interface{}{"SiteName": utils.ClientCfg["SiteName"]})
bodyPage := utils.NewHTMLTemplate("mfa_change_body", locale)
bodyPage.Props["SiteURL"] = siteURL
@@ -203,7 +233,9 @@ func SendInviteEmails(team *model.Team, senderName string, invites []string, sit
senderRole := utils.T("api.team.invite_members.member")
subject := utils.T("api.templates.invite_subject",
- map[string]interface{}{"SenderName": senderName, "TeamDisplayName": team.DisplayName, "SiteName": utils.ClientCfg["SiteName"]})
+ map[string]interface{}{"SenderName": senderName,
+ "TeamDisplayName": team.DisplayName,
+ "SiteName": utils.ClientCfg["SiteName"]})
bodyPage := utils.NewHTMLTemplate("invite_body", model.DEFAULT_LOCALE)
bodyPage.Props["SiteURL"] = siteURL