From bc6d706dc7edf43e7b2536415123f6f5ceada0d2 Mon Sep 17 00:00:00 2001 From: Thomas Oettli Date: Tue, 15 Nov 2022 13:58:10 +0100 Subject: [PATCH] headers are getting corrupted, remove surrogates again --- pyquarantine/__init__.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pyquarantine/__init__.py b/pyquarantine/__init__.py index 0347a4f..d4feb9e 100644 --- a/pyquarantine/__init__.py +++ b/pyquarantine/__init__.py @@ -261,6 +261,10 @@ class QuarantineMilter(Milter.Base): v = v.replace("\r", "").replace("\n", "") value = Header(s=v).encode() + # remove surrogates + field = field.encode("ascii", errors="replace") + value = value.encode("ascii", errors="replace") + self.fp.write(field.encode() + b": " + value.encode() + b"\r\n") except Exception as e: self.logger.exception(