Ich muss eine multipart/mime Nachricht generieren, die als Antwort auf eine HTTP-Anfrage gesendet wird, aber entweder einen Fehler oder eine Einschränkung im Paket Python email. * Trifft.Wie generiere ich eine multipart/mime Nachricht mit korrekter CRLF in Python?
Das Problem ist, dass 2.6 mit Python, der message.as_string()
Anruf unter einem String erzeugt mit \ n vielmehr, dass CRLF als Zeilenende:
message = MIMEMultipart()
for image in images:
f = image.open('rb')
img = MIMEImage(f.read(), _encoder=encode_7or8bit)
message.attach(img)
message.as_string()
Es scheint keinen Weg, um es dazu zu bringen, Verwenden Sie den (MIME-Standard) CRLF. Die Generator-Klasse, die dazu in der Lage zu sein scheint, tut dies nicht.
Was haben andere Leute getan, um dies zu umgehen?
Leider ist dies in Python 2.7 nicht vorhanden. Ich versuche immer noch, eine Problemumgehung zu finden - ich habe eine mehrteilige Nachricht mit einem Binärteil und sende es als eine Web-Anfrage. – Nils
@CantucciHQ sieht aus wie es in Python 3.2 ging. AIUI, Bibliotheks-Fixes von 3.2 bis 2.7 werden akzeptiert, es lohnt sich also, einen Fehler zu stellen, in dem Sie nach Kompatibilität gefragt werden? –
danke dafür. Es ist ein kleines Skript, also habe ich es stattdessen in Python 3 konvertiert. Aber ich habe immer noch Probleme damit. Hier ist meine Frage - irgendwelche Gedanken? http://stackoverflow.com/questions/19010306/newline-characters-being-interpreted-when-coding-binary-mimeapplication-in-pyt – Nils