summaryrefslogtreecommitdiffstats
path: root/Lib/email
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/email')
-rw-r--r--Lib/email/mime/text.py16
1 files changed, 9 insertions, 7 deletions
diff --git a/Lib/email/mime/text.py b/Lib/email/mime/text.py
index 5a5e39b..80ff950 100644
--- a/Lib/email/mime/text.py
+++ b/Lib/email/mime/text.py
@@ -14,7 +14,7 @@ from email.mime.nonmultipart import MIMENonMultipart
class MIMEText(MIMENonMultipart):
"""Class for generating text/* type MIME documents."""
- def __init__(self, _text, _subtype='plain', _charset='us-ascii'):
+ def __init__(self, _text, _subtype='plain', _charset=None):
"""Create a text/* type MIME document.
_text is the string for this message object.
@@ -25,16 +25,18 @@ class MIMEText(MIMENonMultipart):
header. This defaults to "us-ascii". Note that as a side-effect, the
Content-Transfer-Encoding header will also be set.
"""
- MIMENonMultipart.__init__(self, 'text', _subtype,
- **{'charset': _charset})
- # If _charset was defualted, check to see see if there are non-ascii
- # characters present. Default to utf-8 if there are.
+ # If no _charset was specified, check to see see if there are non-ascii
+ # characters present. If not, use 'us-ascii', otherwise use utf-8.
# XXX: This can be removed once #7304 is fixed.
- if _charset =='us-ascii':
+ if _charset is None:
try:
- _text.encode(_charset)
+ _text.encode('us-ascii')
+ _charset = 'us-ascii'
except UnicodeEncodeError:
_charset = 'utf-8'
+ MIMENonMultipart.__init__(self, 'text', _subtype,
+ **{'charset': _charset})
+
self.set_payload(_text, _charset)