From 1f17628399e1c75f43cd51d627f4a8fc097b018d Mon Sep 17 00:00:00 2001 From: James Houlahan Date: Mon, 24 Aug 2020 10:04:08 +0200 Subject: [PATCH] fix: unequal number of rich/plain parts --- pkg/message/parser.go | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/pkg/message/parser.go b/pkg/message/parser.go index 22b6c58c..18f0cb3b 100644 --- a/pkg/message/parser.go +++ b/pkg/message/parser.go @@ -19,7 +19,6 @@ package message import ( "bytes" - "errors" "fmt" "io" "mime" @@ -161,15 +160,14 @@ func buildBodies(p *parser.Parser) (richBody, plainBody string, err error) { return } - if len(richParts) != len(plainParts) { - return "", "", errors.New("unequal number of rich and plain parts") - } - richBuilder, plainBuilder := strings.Builder{}, strings.Builder{} - for i := 0; i < len(richParts); i++ { - _, _ = richBuilder.Write(richParts[i].Body) - _, _ = plainBuilder.Write(getPlainBody(plainParts[i])) + for _, richPart := range richParts { + _, _ = richBuilder.Write(richPart.Body) + } + + for _, plainPart := range plainParts { + _, _ = plainBuilder.Write(getPlainBody(plainPart)) } return richBuilder.String(), plainBuilder.String(), nil