fixed issue 1364, unicode in emails, thanks Corne

This commit is contained in:
mdipierro
2013-03-06 12:21:22 -06:00
parent 0c3f4601cc
commit 63f7b35cf8
2 changed files with 6 additions and 3 deletions
+1 -1
View File
@@ -1 +1 @@
Version 2.4.2-stable+timestamp.2013.03.05.14.28.56 Version 2.4.2-stable+timestamp.2013.03.06.12.20.41
+4 -1
View File
@@ -22,7 +22,7 @@ import urllib
import urllib2 import urllib2
import Cookie import Cookie
import cStringIO import cStringIO
from email import MIMEBase, MIMEMultipart, MIMEText, Encoders, Header, message_from_string from email import MIMEBase, MIMEMultipart, MIMEText, Encoders, Header, message_from_string, Charset
from gluon.contenttype import contenttype from gluon.contenttype import contenttype
from gluon.storage import Storage, StorageList, Settings, Messages from gluon.storage import Storage, StorageList, Settings, Messages
@@ -348,6 +348,9 @@ class Mail(object):
self.error: Exception message or None if above was successful self.error: Exception message or None if above was successful
""" """
# We don't want to use base64 encoding for unicode mail
Charset.add_charset('utf-8', Charset.QP, Charset.QP, 'utf-8')
def encode_header(key): def encode_header(key):
if [c for c in key if 32 > ord(c) or ord(c) > 127]: if [c for c in key if 32 > ord(c) or ord(c) > 127]:
return Header.Header(key.encode('utf-8'), 'utf-8') return Header.Header(key.encode('utf-8'), 'utf-8')