diff options
| author | Gab Virebent <gabriel1@virebent.art> | 2026-08-24 17:34:45 +0200 |
|---|---|---|
| committer | Gab Virebent <gabriel1@virebent.art> | 2026-08-24 17:34:45 +0200 |
| commit | e9fbbe3373eb66a345f5e3829e2563b94dc92051 (patch) | |
| tree | 950d75fda88574afb46b4aeab36e96f3c089a3bb /internal/submit/message.go | |
| parent | fb83c4d70616ec23d8a5397409a5d31c70b70d66 (diff) | |
| download | n2usenet-e9fbbe3373eb66a345f5e3829e2563b94dc92051.tar.gz n2usenet-e9fbbe3373eb66a345f5e3829e2563b94dc92051.tar.xz n2usenet-e9fbbe3373eb66a345f5e3829e2563b94dc92051.zip | |
Diffstat (limited to 'internal/submit/message.go')
| -rw-r--r-- | internal/submit/message.go | 14 |
1 files changed, 12 insertions, 2 deletions
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, |
