From 866f1102f786c19a67e3857f891eaf5107550663 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Wed, 24 Jan 2018 19:37:00 +0100 Subject: pkg/email: handle emails without Content-Type header git-send-email sends emails without Content-Type, let's assume it's text. --- pkg/email/parser.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'pkg/email/parser.go') diff --git a/pkg/email/parser.go b/pkg/email/parser.go index 37490af1d..702c17a0c 100644 --- a/pkg/email/parser.go +++ b/pkg/email/parser.go @@ -246,9 +246,14 @@ func extractArgsLine(body []byte) string { } func parseBody(r io.Reader, headers mail.Header) (body []byte, attachments [][]byte, err error) { - mediaType, params, err := mime.ParseMediaType(headers.Get("Content-Type")) - if err != nil { - return nil, nil, fmt.Errorf("failed to parse email header 'Content-Type': %v", err) + // git-send-email sends emails without Content-Type, let's assume it's text. + mediaType := "text/plain" + var params map[string]string + if contentType := headers.Get("Content-Type"); contentType != "" { + mediaType, params, err = mime.ParseMediaType(headers.Get("Content-Type")) + if err != nil { + return nil, nil, fmt.Errorf("failed to parse email header 'Content-Type': %v", err) + } } // Note: mime package handles quoted-printable internally. if strings.ToLower(headers.Get("Content-Transfer-Encoding")) == "base64" { -- cgit mrf-deployment