2017-08-29 107 views
-1

我創建一個python腳本解析各種電子郵件的內容,它們不具有相同的佈局等 現在,我做的是以下幾點:電子郵件解析內嵌附件

if msg.is_multipart(): 
    for part in msg.walk(): 
     base = "" 
     if (part.is_attachment()): 
      payload = part.get_payload() 
      for elem in payload: 
       base+=str(elem) 
      withattachment = "yes" 
      name = part.get_filename() 
      base=base.replace("\n","") 
else: 
    base = None 
    if (msg.is_attachment()): 
     withattachment = "yes" 
     name = msg.get_filename() 
     base =msg.get_payload() 

「基本」變量包含附件的base64。 我需要爲內嵌附件執行相同的操作,但afaik沒有.isinline()函數來檢查它。任何建議?由於

+0

這段代碼的縮進不正確:沒有最後'else'match開'if'或'for'? – holdenweb

+0

抱歉,我現在要修復它,粘貼時不正確。這是「如果msg.is_multipart()」 – snakethesniper

+0

我已經修改它是正確的。你會發現很大的好處,以確保你自己的代碼是正確和一致的縮進。 – holdenweb

回答

0

求解方法email.iter_attachments()

+0

你如何解析郵件?我嘗試使用'iter_attachments()'方法,但向我顯示該方法不存在的錯誤... – kip