services: Use proper Message-IDs for release mails

When sending notification emails about a release, use a properly
formatted, RFC-compliant message id, rather than the release's HTML URL
wrapped in angle brackets (which would not be compliant).

Fixes #3105.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
(cherry picked from commit b0c0167c54)
This commit is contained in:
Gergely Nagy 2024-04-18 12:11:12 +02:00 committed by GitHub
parent 4db1b2fb96
commit 405162178b
3 changed files with 21 additions and 2 deletions

View file

@ -7,6 +7,7 @@ import (
"testing"
"time"
repo_model "code.gitea.io/gitea/models/repo"
"code.gitea.io/gitea/modules/setting"
"github.com/stretchr/testify/assert"
@ -36,3 +37,17 @@ func TestGenerateMessageID(t *testing.T) {
gm = m.ToMessage()
assert.Equal(t, "<msg-d@domain.com>", gm.GetHeader("Message-ID")[0])
}
func TestGenerateMessageIDForRelease(t *testing.T) {
setting.Domain = "localhost"
rel := repo_model.Release{
ID: 42,
Repo: &repo_model.Repository{
OwnerName: "test",
Name: "tag-test",
},
}
m := createMessageIDForRelease(&rel)
assert.Equal(t, "<test/tag-test/releases/42@localhost>", m)
}