fix body injection logic

This commit is contained in:
2022-01-03 11:01:33 +01:00
parent be2af45334
commit 95f4b91271

View File

@@ -250,7 +250,9 @@ class AddDisclaimer:
html_body, html_content = _get_body_content(milter.msg, "html") html_body, html_content = _get_body_content(milter.msg, "html")
if text_content is None and html_content is None: if text_content is None and html_content is None:
raise RuntimeError("message does not contain any body part") logger.info("message does not contain any body part, "
"inject empty plain and html body")
_inject_body(milter)
variables = defaultdict(str, milter.msginfo["vars"]) variables = defaultdict(str, milter.msginfo["vars"])
variables["ENVELOPE_FROM"] = escape( variables["ENVELOPE_FROM"] = escape(
@@ -302,14 +304,8 @@ class AddDisclaimer:
def execute(self, milter, logger): def execute(self, milter, logger):
old_headers = milter.msg.items() old_headers = milter.msg.items()
try:
try: try:
self.patch_message_body(milter, logger) self.patch_message_body(milter, logger)
except RuntimeError as e:
logger.info(f"{e}, inject empty plain and html body")
_inject_body(milter)
self.patch_message_body(milter, logger)
except Exception as e: except Exception as e:
logger.warning(e) logger.warning(e)
if self.error_policy == "ignore": if self.error_policy == "ignore":