New submission from STINNER Victor <[EMAIL PROTECTED]>: 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 = '[EMAIL PROTECTED]' 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 <[EMAIL PROTECTED]> <http://bugs.python.org/issue4306> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com