Sfoglia il codice sorgente

获取邮箱内容问题

chenshibin 4 anni fa
parent
commit
76d3f192cc
1 ha cambiato i file con 21 aggiunte e 10 eliminazioni
  1. 21 10
      Utils/NeteaseMail.py

+ 21 - 10
Utils/NeteaseMail.py

@@ -57,14 +57,25 @@ class NeteaseMail:
                 message = email.message_from_bytes(mailbody)
 
                 msgfrom = message['from']
-                m_type = message.get('Content-Type')
-                if m_type and 'text/html' in m_type:
-                    con3 = message.get_payload(decode=True).strip()
-                    subject = message['Subject']
-                    subdecode = decode_header(subject)
-                    subject_list.append(subdecode)
-                    from_list.append(message['from'])
-                    bodydata_list.append(con3.decode('utf8'))
+                for part in message.walk():
+
+                    if part['Subject']:
+                        subject = part['Subject']
+                        subdecode = decode_header(subject)
+                        subject_list.append(subdecode)
+
+                    if part['from']:
+                        from_list.append(part['from'])
+
+                    if not part.is_multipart():
+                        name = part.get_param("name")  # 如果是附件,这里就会取出附件的文件名
+                        if name:
+                           print('附件')
+                        else:
+                            con3 = part.get_payload(decode=True).strip()
+                            bodydata_list.append(con3.decode('gbk'))
+                        # print '+'*60 # 用来区别各个部分的输出
+
 
         except:
            print('获取内容出错')
@@ -96,8 +107,8 @@ class NeteaseMail:
             print("邮件开始发送")
 
             message = message
-            msg = MIMEText(message, 'plain', 'utf-8')
-            msg['Subject'] = Header(subject, 'utf-8')
+            msg = MIMEText(message, 'plain', 'gbk')
+            msg['Subject'] = Header(subject, 'gbk')
             msg['From'] = Header(from_addr)
 
         try: