aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/email/parser.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/email/parser.go')
-rw-r--r--pkg/email/parser.go11
1 files changed, 8 insertions, 3 deletions
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" {