feat(mailer): brand account access emails
giteabot / giteabot (push) Canceled after 0s
giteabot backport / giteabot (push) Canceled after 0s
release-nightly-snapcraft / build-and-publish (push) Canceled after 0s
release-nightly / nightly-binary (push) Canceled after 0s
release-nightly / nightly-container (push) Canceled after 0s
giteabot / giteabot (push) Canceled after 0s
giteabot backport / giteabot (push) Canceled after 0s
release-nightly-snapcraft / build-and-publish (push) Canceled after 0s
release-nightly / nightly-binary (push) Canceled after 0s
release-nightly / nightly-container (push) Canceled after 0s
Assisted-by: Codex:GPT-5
This commit is contained in:
@@ -34,6 +34,7 @@ func sendUserMail(language string, u *user_model.User, tpl templates.TplName, co
|
||||
"Code": code,
|
||||
"Language": locale.Language(),
|
||||
}
|
||||
subject = renderUserMailSubject(tpl, data, subject)
|
||||
|
||||
var content bytes.Buffer
|
||||
|
||||
@@ -48,6 +49,18 @@ func sendUserMail(language string, u *user_model.User, tpl templates.TplName, co
|
||||
SendAsync(msg)
|
||||
}
|
||||
|
||||
func renderUserMailSubject(tpl templates.TplName, data any, fallback string) string {
|
||||
var subject bytes.Buffer
|
||||
if err := LoadedTemplates().SubjectTemplates.ExecuteTemplate(&subject, string(tpl), data); err != nil {
|
||||
log.Error("ExecuteTemplate [%s]: %v", tpl+"/subject", err)
|
||||
return fallback
|
||||
}
|
||||
if rendered := sanitizeSubject(subject.String()); rendered != "" {
|
||||
return rendered
|
||||
}
|
||||
return fallback
|
||||
}
|
||||
|
||||
// SendActivateAccountMail sends an activation mail to the user (new user registration)
|
||||
func SendActivateAccountMail(locale translation.Locale, u *user_model.User) {
|
||||
if setting.MailService == nil {
|
||||
@@ -119,6 +132,7 @@ func SendRegisterNotifyMail(u *user_model.User) {
|
||||
opts := &user_model.TimeLimitCodeOptions{Purpose: user_model.TimeLimitCodeResetPassword}
|
||||
data["Code"] = user_model.GenerateUserTimeLimitCode(opts, u)
|
||||
}
|
||||
subject := renderUserMailSubject(mailAuthRegisterNotify, data, locale.TrString("mail.register_notify", setting.AppName))
|
||||
|
||||
var content bytes.Buffer
|
||||
|
||||
@@ -127,7 +141,7 @@ func SendRegisterNotifyMail(u *user_model.User) {
|
||||
return
|
||||
}
|
||||
|
||||
msg := sender_service.NewMessage(u.EmailTo(), locale.TrString("mail.register_notify", setting.AppName), content.String())
|
||||
msg := sender_service.NewMessage(u.EmailTo(), subject, content.String())
|
||||
msg.Info = fmt.Sprintf("UID: %d, registration notify", u.ID)
|
||||
|
||||
SendAsync(msg)
|
||||
|
||||
Reference in New Issue
Block a user