summaryrefslogtreecommitdiff
path: root/Mailman/Message.py
diff options
context:
space:
mode:
authorbwarsaw2002-02-11 20:51:17 +0000
committerbwarsaw2002-02-11 20:51:17 +0000
commitf2881d14d54cd7207fde431bd276f66d19960896 (patch)
tree48b766d706544462b112a215c83abeaaeff558a9 /Mailman/Message.py
parentd8d3d0e580cb1a2fb47a8454c25e13ad444faeb5 (diff)
downloadmailman-f2881d14d54cd7207fde431bd276f66d19960896.tar.gz
mailman-f2881d14d54cd7207fde431bd276f66d19960896.tar.zst
mailman-f2881d14d54cd7207fde431bd276f66d19960896.zip
UserNotification.__init__(): Add a `lang' optional argument so that
charset information can be propagated into the headers, if necessary. Use the new mimelib/email package's Charset and Header classes. Patch by Ben Gertzfield. Requires email 0.97.
Diffstat (limited to '')
-rw-r--r--Mailman/Message.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/Mailman/Message.py b/Mailman/Message.py
index 617bc5058..9508a3d98 100644
--- a/Mailman/Message.py
+++ b/Mailman/Message.py
@@ -22,6 +22,10 @@ which is more convenient for use inside Mailman.
import email.Message
import email.Utils
+
+from email.Charset import Charset
+from email.Header import Header
+
from types import ListType
from Mailman import mm_cfg
@@ -96,13 +100,16 @@ class Message(email.Message.Message):
class UserNotification(Message):
"""Class for internally crafted messages."""
- def __init__(self, recip, sender, subject=None, text=None):
+ def __init__(self, recip, sender, subject=None, text=None, lang=None):
Message.__init__(self)
+ charset = None
+ if lang is not None:
+ charset = Charset(Utils.GetCharSet(lang))
if text is not None:
- self.set_payload(text)
+ self.set_payload(text, charset)
if subject is None:
subject = '(no subject)'
- self['Subject'] = subject
+ self['Subject'] = Header(subject, charset, header_name='Subject')
self['From'] = sender
if isinstance(recip, ListType):
self['To'] = COMMASPACE.join(recip)