我用下面的代碼以提取附件的文件名:如何使用python電子郵件獲取解碼附件文件名?
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()
它運作良好,在許多情況下,但有時爲image_file_name
我得到的值一樣=?KOI8-R?B?xsHTLTk2Mi5qcGc=?=
或=?UTF-8?B?REkyeTFXMFNMNzAuanBn?=
。
我該如何處理這種情況?
謝謝。這是否意味着我必須手動解碼並且email.utils沒有準備好的方法來使用? –
好的,我用了下面的代碼 - 'if image_file_name [:11] =='=?KOI8-R?B?':image_file_name = base64.b64decode(image_file_name [11:])。decode('KOI8-R ')if image_file_name [:10] =='=?UTF-8?B?':image_file_name = base64.b64decode(image_file_name [10:]) –