--- a/src/mailman/core/runner.py 2014-04-23 14:29:53.000000000 +0200 +++ b/src/mailman/cure/runner.py 2014-06-24 20:37:22.573384698 +0200 @@ -25,6 +25,7 @@ __all__ = [ ] +import email import time import signal import logging @@ -40,6 +41,7 @@ from mailman.config import config from mailman.core.i18n import _ from mailman.core.logging import reopen from mailman.core.switchboard import Switchboard +from mailman.email.message import Message from mailman.interfaces.languages import ILanguageManager from mailman.interfaces.listmanager import IListManager from mailman.interfaces.runner import IRunner, RunnerCrashEvent @@ -236,6 +238,8 @@ class Runner: # will be the list's preferred language. However, we must take # special care to reset the defaults, otherwise subsequent messages # may be translated incorrectly. + if (not isinstance(msg, Message)): + msg = email.message_from_string(msg.as_string(), Message) if mlist is None: language_manager = getUtility(ILanguageManager) language = language_manager[config.mailman.default_language]