Code, den ich aus mehreren Quellen gelernt habe:
Code: Select all
# Import packages
import os
import win32com.client
from datetime import datetime, timedelta
# Initiate an Outlook session
outlook = win32com.client.Dispatch('Outlook.Application')
mapi = outlook.GetNamespace("MAPI")
# Specify the folder
inbox = mapi.GetDefaultFolder(6)
InboxMessages = inbox.Items
# Apply filters
ReceivedDateTime = datetime.now() - timedelta(days=7)
InboxMessages = [message for message in InboxMessages if message.ReceivedTime.timestamp() >= ReceivedDateTime.timestamp()]
InboxMessages = [message for message in InboxMessages if message.SenderEmailAddress.__contains__('mycompany.com')]
Wenn ich E-Mail-Adressen von meinem Unternehmen angebe, wird nur ein Teil der E-Mails zurückgegeben Mein Posteingang.
Anscheinend handelt es sich bei den E-Mails, die nicht zurückgegeben werden, um E-Mails mit einem Label, das wir zur Zuordnung der E-Mails verwenden. Sie können wichtig sein oder auch nicht, z. B. „Casual“, „Hangout“, „Dringend“ usw. Unabhängig davon wird eine zugewiesene Bezeichnung nicht zurückgegeben.
Alle Unternehmens-E-Mails ohne Bezeichnung werden zurückgegeben. Auch hier spielt es keine Rolle, wer diese E-Mails gesendet hat oder wie wichtig sie sind.
Außerdem scheint es bei E-Mails von externen Quellen kein solches Problem zu geben.
Was könnte möglicherweise zu diesem Ergebnis führen, etwa eine Sicherheitsverschlüsselung?