Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
ian-kent committed Jul 7, 2016
1 parent 9e9f1e0 commit da1c207
Showing 1 changed file with 36 additions and 4 deletions.
40 changes: 36 additions & 4 deletions message.go
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,42 @@ func (m *SMTPMessage) Parse(hostname string) *Message {
msg.MIME = msg.Content.ParseMIMEBody()
}

// FIXME shouldn't be setting Message-ID, its a client thing
msg.Content.Headers["Message-ID"] = []string{string(id)}
msg.Content.Headers["Received"] = []string{"from " + m.Helo + " by " + hostname + " (MailHog)\r\n id " + string(id) + "; " + time.Now().Format(time.RFC1123Z)}
msg.Content.Headers["Return-Path"] = []string{"<" + m.From + ">"}
// find headers
var hasMessageID bool
var receivedHeaderName string
var returnPathHeaderName string

for k := range msg.Content.Headers {
if strings.ToLower(k) == "message-id" {
hasMessageID = true
continue
}
if strings.ToLower(k) == "received" {
receivedHeaderName = k
continue
}
if strings.ToLower(k) == "return-path" {
returnPathHeaderName = k
continue
}
}

if !hasMessageID {
msg.Content.Headers["Message-ID"] = []string{string(id)}
}

if len(receivedHeaderName) > 0 {
msg.Content.Headers[receivedHeaderName] = append(msg.Content.Headers[receivedHeaderName], "from "+m.Helo+" by "+hostname+" (MailHog)\r\n id "+string(id)+"; "+time.Now().Format(time.RFC1123Z))
} else {
msg.Content.Headers["Received"] = []string{"from " + m.Helo + " by " + hostname + " (MailHog)\r\n id " + string(id) + "; " + time.Now().Format(time.RFC1123Z)}
}

if len(returnPathHeaderName) > 0 {
msg.Content.Headers[returnPathHeaderName] = append(msg.Content.Headers[returnPathHeaderName], "<"+m.From+">")
} else {
msg.Content.Headers["Return-Path"] = []string{"<" + m.From + ">"}
}

return msg
}

Expand Down

0 comments on commit da1c207

Please sign in to comment.