From e9fbbe3373eb66a345f5e3829e2563b94dc92051 Mon Sep 17 00:00:00 2001 From: Gab Virebent Date: Mon, 24 Aug 2026 17:34:45 +0200 Subject: Harden transport and preserve profile identities --- internal/submit/message.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'internal/submit/message.go') diff --git a/internal/submit/message.go b/internal/submit/message.go index 3bf8834..db80503 100644 --- a/internal/submit/message.go +++ b/internal/submit/message.go @@ -17,14 +17,24 @@ import ( var messageIDRE = regexp.MustCompile(`^<[^<>\s]+@[^<>\s]+>$`) -func BuildMessage(sub Submission, recipient, messageIDDomain, identiconsCLI string, requireFace bool) (raw string, messageID string, err error) { +func BuildMessage(sub Submission, recipient, sender, messageIDDomain, identiconsCLI string, requireFace bool) (raw string, messageID string, err error) { messageID, err = newMessageID(messageIDDomain) if err != nil { return "", "", err } + identity, err := mail.ParseAddress(sub.From) + if err != nil { + return "", "", fmt.Errorf("invalid identity address") + } + transportSender, err := mail.ParseAddress(sender) + if err != nil || transportSender.Address == "" { + return "", "", fmt.Errorf("invalid transport Sender address") + } + headers := []string{ - "From: " + sub.From, + "From: " + identity.String(), + "Sender: " + transportSender.String(), "To: " + recipient, "Subject: " + sub.Subject, "Message-ID: " + messageID, -- cgit v1.2.3