I try to send e-mail from Python 3.1.1 Encoding as iso-8859-1 goes fine. But encoding as utf-8 doesn't work. What am I doing wrong?
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 >>> -- Peter Kleiweg -- http://mail.python.org/mailman/listinfo/python-list