From ef1671d4ab039f3803f20cedee82be0da1252fc2 Mon Sep 17 00:00:00 2001 From: Michal Horejsek Date: Thu, 24 Sep 2020 12:23:31 +0200 Subject: [PATCH] Parsing message with empty CC --- Changelog.md | 3 +++ pkg/message/header.go | 4 ++++ pkg/message/parser_test.go | 15 +++++++++++++++ pkg/message/testdata/text_plain_empty_cc.eml | 5 +++++ 4 files changed, 27 insertions(+) create mode 100644 pkg/message/testdata/text_plain_empty_cc.eml diff --git a/Changelog.md b/Changelog.md index 9887d1f6..fe054a78 100644 --- a/Changelog.md +++ b/Changelog.md @@ -4,6 +4,9 @@ Changelog [format](http://keepachangelog.com/en/1.0.0/) ## Unreleased +### Fixed +* GODT-752 Parsing message with empty CC. + ## [IE 1.1.x] Danube (v1.1.0 beta 2020-09-XX) ### Fixed diff --git a/pkg/message/header.go b/pkg/message/header.go index f9a04236..66fba3a5 100644 --- a/pkg/message/header.go +++ b/pkg/message/header.go @@ -152,6 +152,10 @@ func parseAddressComment(raw string) string { } func parseAddressList(val string) (addrs []*mail.Address, err error) { + if val == "" { + return + } + addrs, err = mail.ParseAddressList(parseAddressComment(val)) if err == nil { if addrs == nil { diff --git a/pkg/message/parser_test.go b/pkg/message/parser_test.go index a0923dc7..cfde5ca0 100644 --- a/pkg/message/parser_test.go +++ b/pkg/message/parser_test.go @@ -224,6 +224,21 @@ func TestParseTextPlainWithPlainAttachment(t *testing.T) { assert.Equal(t, readerToString(attReaders[0]), "attachment") } +func TestParseTextPlainEmptyCC(t *testing.T) { + f := getFileReader("text_plain_empty_cc.eml") + + m, _, plainBody, attReaders, err := Parse(f, "", "") + require.NoError(t, err) + + assert.Equal(t, `"Sender" `, m.Sender.String()) + assert.Equal(t, `"Receiver" `, m.ToList[0].String()) + + assert.Equal(t, "body", m.Body) + assert.Equal(t, "body", plainBody) + + assert.Len(t, attReaders, 0) +} + func TestParseTextPlainWithImageInline(t *testing.T) { f := getFileReader("text_plain_image_inline.eml") diff --git a/pkg/message/testdata/text_plain_empty_cc.eml b/pkg/message/testdata/text_plain_empty_cc.eml new file mode 100644 index 00000000..4b89fea5 --- /dev/null +++ b/pkg/message/testdata/text_plain_empty_cc.eml @@ -0,0 +1,5 @@ +From: Sender +To: Receiver +CC: + +body \ No newline at end of file