homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author pebbe
Recipients ajaksu2, barry, bgamari, ocean-city, pebbe
Date 2010年03月06日.22:45:25
SpamBayes Score 2.2157244e-07
Marked as misclassified No
Message-id <1267915527.53.0.454689315113.issue1685453@psf.upfronthosting.co.za>
In-reply-to
Content
In Python 3.1.1, email.mime.text.MIMEText accepts an 8-bit charset, but not utf-8.
I think you should not have to specify a charset. All strings are unicode now, so I think the package should choose an appropriate charset based on the characters in the text, us-ascii, some iso-8859 charset, or utf-8, whatever fits.
Python 3.1.1 (r311:74480, Oct 2 2009, 11:50:52) 
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> from email.mime.text import MIMEText 
>>> text = 'H\u00e9' 
>>> msg = MIMEText(text, 'plain', 'iso-8859-1') 
>>> print(msg.as_string()) 
Content-Type: text/plain; charset="iso-8859-1" 
MIME-Version: 1.0 
Content-Transfer-Encoding: quoted-printable 
 
H=E9 
>>> msg = MIMEText(text, 'plain', 'utf-8') 
Traceback (most recent call last): 
 File "/my/opt/Python-3/lib/python3.1/email/message.py", line 269, in set_charset 
 cte(self) 
TypeError: 'str' object is not callable 
 
During handling of the above exception, another exception occurred: 
 
Traceback (most recent call last): 
 File "<stdin>", line 1, in <module> 
 File "/my/opt/Python-3/lib/python3.1/email/mime/text.py", line 30, in __init__ 
 self.set_payload(_text, _charset) 
 File "/my/opt/Python-3/lib/python3.1/email/message.py", line 234, in set_payload 
 self.set_charset(charset) 
 File "/my/opt/Python-3/lib/python3.1/email/message.py", line 271, in set_charset 
 self._payload = charset.body_encode(self._payload) 
 File "/my/opt/Python-3/lib/python3.1/email/charset.py", line 380, in body_encode 
 return email.base64mime.body_encode(string) 
 File "/my/opt/Python-3/lib/python3.1/email/base64mime.py", line 94, in body_encode 
 enc = b2a_base64(s[i:i + max_unencoded]).decode("ascii") 
TypeError: must be bytes or buffer, not str 
>>>
History
Date User Action Args
2010年03月06日 22:45:27pebbesetrecipients: + pebbe, barry, ocean-city, ajaksu2, bgamari
2010年03月06日 22:45:27pebbesetmessageid: <1267915527.53.0.454689315113.issue1685453@psf.upfronthosting.co.za>
2010年03月06日 22:45:25pebbelinkissue1685453 messages
2010年03月06日 22:45:25pebbecreate

AltStyle によって変換されたページ (->オリジナル) /