Kodierung von Headern in MIMEText

Ich verwende MIMEText, um in Python 3.2 eine E-Mail von Grund auf neu zu erstellen, und es treten Probleme beim Erstellen von Nachrichten mit Nicht-ASCII-Zeichen im Betreff auf.

Zum Beispiel

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()

Die letzte Zeile gibt mir den Fehler

UnicodeEncodeError: 'ascii' codec can't encode character '\xbb' in position 0: ordinal not in range(128)

Wie sage ich MIMEText, dass das Thema nicht ascii ist?subject.encode('utf-8') hilft überhaupt nicht und trotzdem habe ich Leute gesehen, die Unicode-Zeichenfolgen ohne Probleme in anderen Antworten verwendet haben (siehe zum BeispielPython - Wie versende ich Utf-8-E-Mails?)

Bearbeiten: Ich möchte hinzufügen, dass der gleiche Code in Python 2.7 keine Fehler gibt (was aber nicht bedeutet, dass das Ergebnis korrekt ist).

Antworten auf die Frage(3)

Ihre Antwort auf die Frage