Ignore and log a charset error when fetching a message part.
Reported-by: Matěj Cepl <mcepl@cepl.eu>
Signed-off-by: Koni Marti <koni.marti@gmail.com>
---
worker/jmap/fetch.go | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/worker/jmap/fetch.go b/worker/jmap/fetch.go
index 3b3a8460..de32ee99 100644
--- a/worker/jmap/fetch.go
+++ b/worker/jmap/fetch.go
@@ -134,9 +134,10 @@ func (w *JMAPWorker) handleFetchMessageBodyPart(msg *types.FetchMessageBodyPart)
if strings.HasPrefix(part.Type, "text/") && part.Charset != "" {
r, err := charset.Reader(part.Charset, reader)
if err != nil {
- return fmt.Errorf("charset.Reader: %w", err)
+ w.w.Warnf("charset.Reader: %v", err)
+ } else {
+ reader = r
}
- reader = r
}
w.w.PostMessage(&types.MessageBodyPart{
Message: types.RespondTo(msg),
--
2.47.0