надеюсь, у тебя все хорошо.Не уверен, будет ли на этот вопрос ответ, или если это вообще возможно.
Мне удалось настроить прослушиватель для проверки новых вложений электронной почты с помощью модуля win32com.client с кодом ниже.
import pythoncom
import win32com.client
from Implementation import FetchEmail as Email
import sys
# outlook config
SHARED_MAILBOX = "email@email.com"
# get the outlook instance and inbox folder
session = win32com.client.Dispatch("Outlook.Application").Session
user = session.CreateRecipient(SHARED_MAILBOX)
shared_inbox = session.GetSharedDefaultFolder(user, 6).Items # 6 is Inbox
class HandlerClass(object):
def OnItemAdd(self, item):
print("New item added in shared mailbox")
if item.Class == 43:
attachment = item.attachments
print(attachment.FileName)
#fetch = Email.FetchEmail()
#fetch.saveAttachments(item)
outlook = win32com.client.DispatchWithEvents(shared_inbox, HandlerClass)
def main():
print("Starting up Outlook watcher")
pythoncom.PumpMessages()
if __name__ == "__main__":
main()
Достаточно просто.Теперь это прекрасно работает для учетной записи outlook, в которую я вошел на локальном компьютере, но учетная запись, которую я на самом деле хочу прослушивать, размещена на удаленном сервере (no_reply_email@email.com вроде как).
Так есть ли способ, которым я могу настроить свой сеанс или объект Outlook для входа в эту удаленную учетную запись Outlook и для отслеживания входящих сообщений?Я знаю, что могу просто войти в эту учетную запись на своем компьютере, но тогда у меня не будет доступа к моей почте, так как я понимаю, что outlook - это одиночка, или, может быть, я неправильно это понимаю.
Спасибо за помощь!