Ich verwende den folgenden Code Dateinamen des Anhangs zu extrahieren:Wie bekomme ich den Dateinamen der Dekodierung mit Python-E-Mail?
import email.utils
msg = email.message_from_string(self.request.body) # http://docs.python.org/2/library/email.parser.html
for part in msg.walk():
ctype = part.get_content_type()
if ctype in ['image/jpeg', 'image/png']:
image_file = part.get_payload(decode=True)
image_file_name = part.get_filename()
Es funktioniert gut in vielen Fällen, aber irgendwann als image_file_name
ich Werte wie =?KOI8-R?B?xsHTLTk2Mi5qcGc=?=
oder =?UTF-8?B?REkyeTFXMFNMNzAuanBn?=
.
Wie soll ich mit solchen Fällen umgehen?
Dank. Bedeutet es, dass ich es manuell entschlüsseln muss und email.utils hat keine fertige Methode, um verwendet zu werden? –
OK, ich habe den folgenden Code verwendet - 'if Image_Dateiname [: 11] == '=? KOI8-R? B?': Image_Dateiname = Base64.b64Decode (Image_Dateiname [11:]) .Decode ('KOI8-R ') if Bild_Dateiname [: 10] ==' =? UTF-8? B? ': Bilddateiname = base64.b64decode (Bilddateiname [10:]) ' –