summaryrefslogtreecommitdiffstats
path: root/internal/submit/message.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/submit/message.go')
-rw-r--r--internal/submit/message.go14
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,