From 9d9015860cfac8563b59821e8fdce4743d963162 Mon Sep 17 00:00:00 2001 From: Damien Zammit Date: Tue, 28 Jan 2025 15:39:44 +1100 Subject: [PATCH] quoted-printable: No-op if Content-Transfer-Encoding header is already set This should allow git send-email to apply the transfer encoding desired when using the bridge. Signed-off-by: Damien Zammit --- pkg/message/build.go | 6 ++++-- pkg/message/parser/parser.go | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) 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,