diff --git a/services/mailer/mail.go b/services/mailer/mail.go index 410fdf6894..c7dd9af6fa 100644 --- a/services/mailer/mail.go +++ b/services/mailer/mail.go @@ -575,7 +575,7 @@ func fromDisplayName(u *user_model.User) string { if setting.MailService.FromDisplayNameFormatTemplate != nil { var ctx bytes.Buffer err := setting.MailService.FromDisplayNameFormatTemplate.Execute(&ctx, map[string]any{ - "DisplayName": u.DisplayName(), + "DisplayName": u.GetDisplayName(), "AppName": setting.AppName, "Domain": setting.Domain, }) diff --git a/services/mailer/mail_test.go b/services/mailer/mail_test.go index afbcb8064e..bd8692c19a 100644 --- a/services/mailer/mail_test.go +++ b/services/mailer/mail_test.go @@ -497,24 +497,35 @@ func TestFromDisplayName(t *testing.T) { defer test.MockVariableValue(&setting.MailService, &setting.Mailer{FromDisplayNameFormatTemplate: template})() tests := []struct { - userDisplayName string - fromDisplayName string + userDisplayName string + fromDisplayName string + defaultShowFullName bool }{{ - userDisplayName: "test", - fromDisplayName: "test", + userDisplayName: "test", + fromDisplayName: "test", + defaultShowFullName: true, }, { - userDisplayName: "Hi Its ", - fromDisplayName: "Hi Its ", + userDisplayName: "Hi Its ", + fromDisplayName: "Hi Its ", + defaultShowFullName: true, }, { - userDisplayName: "Æsir", - fromDisplayName: "=?utf-8?q?=C3=86sir?=", + userDisplayName: "Æsir", + fromDisplayName: "=?utf-8?q?=C3=86sir?=", + defaultShowFullName: true, }, { - userDisplayName: "new😀user", - fromDisplayName: "=?utf-8?q?new=F0=9F=98=80user?=", + userDisplayName: "new😀user", + fromDisplayName: "=?utf-8?q?new=F0=9F=98=80user?=", + defaultShowFullName: true, + }, { + userDisplayName: "new😀user", + fromDisplayName: "tmp", + defaultShowFullName: false, }} for _, tc := range tests { t.Run(tc.userDisplayName, func(t *testing.T) { + defer test.MockVariableValue(&setting.UI.DefaultShowFullName, tc.defaultShowFullName)() + user := &user_model.User{FullName: tc.userDisplayName, Name: "tmp"} got := fromDisplayName(user) assert.Equal(t, tc.fromDisplayName, got) @@ -522,6 +533,8 @@ func TestFromDisplayName(t *testing.T) { } t.Run("template with all available vars", func(t *testing.T) { + defer test.MockVariableValue(&setting.UI.DefaultShowFullName, true)() + template, err = texttmpl.New("mailFrom").Parse("{{ .DisplayName }} (by {{ .AppName }} on [{{ .Domain }}])") require.NoError(t, err) defer test.MockVariableValue(&setting.MailService, &setting.Mailer{FromDisplayNameFormatTemplate: template})()