Кодирование заголовков в MIMEText
Я использую MIMEText для создания электронного письма с нуля в Python 3.2, и у меня возникают проблемы при создании сообщений с не-ascii символами в теме.
Например
from email.mime.text import MIMEText
body = "Some text"
subject = "» My Subject" # first char is non-ascii
msg = MIMEText(body,'plain','utf-8')
msg['Subject'] = subject # <<< Problem probably here
text = msg.as_string()
Последняя строка дает мне ошибку
UnicodeEncodeError: 'ascii' codec can't encode character '\xbb' in position 0: ordinal not in range(128)
Как мне сказать MIMEText, что тема не ascii?subject.encode('utf-8')
не помогает вообще, и в любом случае я видел людей, использующих строки Unicode без проблем в других ответах (см., например,Python - Как отправить UTF-8 по электронной почте?)
Изменить: я хотел бы добавить, что тот же код не дает никаких ошибок в Python 2.7 (хотя это не означает, что результат правильный).