Как прочитать электронное письмо из другой учетной записи в Outlook

#python #outlook

#python #outlook

Вопрос:

В моем Outlook у меня есть 2 учетные записи (учетная запись 1 и учетная запись 2). Учетная запись 1 является учетной записью по умолчанию.

Я пытаюсь прочитать электронное письмо из учетной записи 2 из кода python. Я попробовал другой подход, но он не сработал.

Я публикую свой код, где он считывается из моей учетной записи по умолчанию. Не могли бы вы помочь мне прочитать электронные письма из учетной записи 2 (которая не используется по умолчанию)

 from win32com.client import Dispatch
import time
import datetime
import re
outlook = Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder("6")
all_inbox = inbox.Items
val_date = datetime.date.today()
 
sub_today = 'test4'
att_today = '20201018_2.xlsx'    
#att_today = re.match(regex_, )
for msg in all_inbox:
    if msg.Subject.find(sub_today) != -1 and msg.SentOn.date() == val_date:
        break

for att in msg.Attachments:
    if att.FileName == att_today:
        print(att_today)
        break

try:
    print(att.FileName)
    #att.SaveAsFile("C:/Users/Shwettha/Downloads/attachment/"  att.FileName)
    att.SaveAsFile(os.path.join("D:ScriptMonitoring",att.FileName))
    print("SUCCESSFUL","Attachments Downloaded")
except:
    print("ERROR","Attachment Download Failed")   

 
  

Ответ №1:

Попробуйте настроить свой почтовый ящик следующим образом

 outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.Folders["0m3r@Email.com"].Folders["Inbox"]
  

Или используйте метод GetSharedDefaultFolder (Outlook)

 import win32com.client

Outlook = win32com.client.Dispatch("Outlook.Application")
olNs = Outlook.GetNamespace("MAPI")
Recip = olNs.CreateRecipient("0m3r@Email.com")
Recip.Resolve()
shared_inbox = olNs.GetSharedDefaultFolder(Recip, "6")

for Item in shared_inbox.Items:
    print(Item.Subject)
  

Комментарии:

1. Несмотря на то, что я дал выше lines…it s принимает почтовый ящик по умолчанию

2. @Kanagambala посмотрите на второй пример.

3. помните, что электронная почта чувствительна к регистру