[New-bugs-announce] [issue4306] email package with unicode subject/body
STINNER Victor
report at bugs.python.org
Wed Nov 12 14:16:32 CET 2008
New submission from STINNER Victor <victor.stinner at haypocalc.com>:
I never used the email package, so my issue is maybe not a bug. I'm
trying to send an email with diacritics in the subject and the body.
I'm french so it's natural to use characters not in the ASCII range. I
wrote this small program:
def main():
# coding: utf8
ADDRESS = 'victor.stinner at haypocalc.com'
from email.mime.text import MIMEText
msg = MIMEText('accent éôŁ', 'plain', 'utf-8')
msg['Subject'] = 'sujet éôł'
msg['From'] = ADDRESS
msg['To'] = ADDRESS
text = msg.as_string()
print("--- FLATTEN ---")
print(text)
return
import smtplib
client=smtplib.SMTP('smtp.free.fr')
client.sendmail(ADDRESS, ADDRESS, text)
client.quit()
main()
(remove the "return" to really send the email)
The problem:
(...)
File "/home/haypo/prog/py3k/Lib/email/generator.py", line 141, in
_write_headers
header_name=h, continuation_ws='\t')
File "/home/haypo/prog/py3k/Lib/email/header.py", line 189, in
__init__
self.append(s, charset, errors)
File "/home/haypo/prog/py3k/Lib/email/header.py", line 262, in
append
input_bytes = s.encode(input_charset, errors)
UnicodeEncodeError: 'ascii' codec can't encode characters in position
6-8: ordinal not in range(128)
I don't understand why it uses ASCII whereas I specified that I would
like to use the UTF-8 charset.
My attached patch reused the message charset to encode the headers,
but use ASCII if the header can be encoded as ASCII. The patch
included an unit test.
----------
components: Library (Lib)
files: email_mime_unicode.patch
keywords: patch
messages: 75784
nosy: haypo
severity: normal
status: open
title: email package with unicode subject/body
versions: Python 3.0
Added file: http://bugs.python.org/file11992/email_mime_unicode.patch
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue4306>
_______________________________________
More information about the New-bugs-announce
mailing list