2017-12-26 4 views
0

Ich benutze Python win32com, um E-Mails von Outlook zu analysieren. Ich kann E-Mails aus dem Outlook-Ordner abrufen, aber ich kann nicht überprüfen, ob es sich bei der E-Mail um eine Antwort oder eine weitergeleitete Nachricht handelt. Ich muss prüfen, ob die E-Mail die Antwort der vorherigen E-Mail ist die ursprüngliche Mail) oder E-Mail ist die weitergeleitete Nachricht. Ich verwende folgenden Code, um E-Mails von Outlook zu holen.Überprüfen Sie, ob die E-Mail eine Antwort oder Antwort mit Python ist win32com

import win32com.client 

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI") 
inbox=outlook.Folders['[email protected]'].Folders['Inbox'].Folders['abc'] 
messagesReach = inbox.Items 
for message in messagesReach: 
    if message.Unread==True: 
     print(message.body) 
+0

Suchen Sie nach dem 'In-Reply-To' Header verweisen. – Barmar

+0

Vielen Dank für Ihre Antwort, aber es zeigt Attribut Fehler – Pranav

+0

Ich denke, Sie suchen nicht auf die richtige Weise den Header. – Barmar

Antwort

0

Sie könnten versuchen, die ersten drei Zeichen des Themas zu lesen und festzustellen, ob es den „Re:“ hat - Präfix und daher ist eine Antwort. Dies sollte meistens der Fall sein.

import win32com.client 

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI") 
inbox = outlook.Folders["[email protected]"].Folders["Inbox"].Folders["abc"] 
messagesReach = inbox.Items 
for message in messagesReach: 
    if message.Unread == True: 
     if message.Subject[:3] == "Re:": 
      print(message.body) 
+0

Danke für Sie antworten, können wir so, aber damit können wir nicht finden, die ursprüngliche Mail und auch wenn der Absender nicht "RE:" im Betreff, dann wird dies scheitern – Pranav

+0

Das ist richtig, aber ich habe keinen anderen Weg gefunden. Es gibt keine Eigenschaft von "Nachricht", die sagt, ob es eine Antwort oder eine Antwort ist. Nicht einmal in der [Eigenschaftsliste] [1] von "Mailitem" ist eine Eigenschaft, die diese Information geben könnte. [https://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.mailitem_properties.aspx ][1] –

+0

Grundsätzlich muss ich die E-Mail-Kette finden, in Laiensprache ich Ich möchte die Antworten früherer E-Mails lesen, wie zum Beispiel eine Konversation. Ich habe eine E-Mail an jemanden geschickt, um etwas zu genehmigen. Als Antwort habe ich die E-Mail mit der Bestätigung erhalten. Dann muss ich die Original-E-Mail finden. – Pranav

Verwandte Themen