diff --git a/pkg/message/build.go b/pkg/message/build.go index 71b89fb9..ea1a27e1 100644 --- a/pkg/message/build.go +++ b/pkg/message/build.go @@ -491,8 +491,10 @@ func getTextPartHeader(hdr message.Header, body []byte, mimeType rfc822.MIMEType hdr.SetContentType(string(mimeType), params) - // Use quoted-printable for all text/... parts - hdr.Set("Content-Transfer-Encoding", "quoted-printable") + // Use quoted-printable for all text/... parts UNLESS header is already set + if !hdr.Has("Content-Transfer-Encoding") { + hdr.Set("Content-Transfer-Encoding", "quoted-printable") + } return hdr } diff --git a/pkg/message/parser/parser.go b/pkg/message/parser/parser.go index d74025f5..0f3f05c6 100644 --- a/pkg/message/parser/parser.go +++ b/pkg/message/parser/parser.go @@ -109,7 +109,9 @@ func (p *Parser) AttachEmptyTextPartIfNoneExists() bool { h := message.Header{} h.Set("Content-Type", "text/plain;charset=utf8") - h.Set("Content-Transfer-Encoding", "quoted-printable") + if !h.Has("Content-Transfer-Encoding") { + h.Set("Content-Transfer-Encoding", "quoted-printable") + } p.Root().AddChild(&Part{ Header: h,