Четкое документированное чтение функций электронной почты с помощью python win32com outlook

Я пытаюсь понять перспективы взаимодействия через win32com лучше. Я не смог найти четкую документацию, которая позволяет мне использовать win32com для эффективного чтения электронных писем, из моего текущего расследования это похоже на довольно регулярные чувства пользователей. Таким образом, появляется следующая информация и запрос:

Может кто-нибудь;

1. Дайте ссылку на место четкой документации (если она существует)

2. Разверните

Ниже приведена текущая функциональность, основанная на чтении кода других людей.

Возьмите приведенный ниже код:

import win32com outlook=win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI") inbox=outlook.GetDefaultFolder(6) messages=inbox.Items for message in messages: attachments = message.attachments for attachment in attachments: pass 

Упомянутые выше объекты имеют следующие функциональные возможности, о которых я знаю:

Входящие –

 .Folders .Items 

Сообщения –

 .GetFirst() .GetLast() .GetNext() .GetPrevious() .Attachments 

сообщение –

 .Subject .Body .To .Recipients .Sender .Sender.Address 

вложения –

 .item() .Count 

приложение –

 .filename 

Если вы знаете больше функциональности, добавьте к этому в свои ответы.

  • Сохранение и загрузка нескольких объектов в файле pickle?
  • Как определить, содержит ли строка действительный код Python
  • Почему идентификатор класса Python не уникален при вызове быстро?
  • python 3.5: TypeError: необходим байтоподобный объект, а не «str» при записи в файл
  • подклассы из OrderedDict и defaultdict
  • TypeError: attack () отсутствует 1 обязательный позиционный аргумент: 'self'
  • Python: как проверить, был ли элемент добавлен в набор, без 2x (хэш, поиск)
  • Python Script возвращает непреднамеренное «None» после выполнения функции
  • 4 Solutions collect form web for “Четкое документированное чтение функций электронной почты с помощью python win32com outlook”

    Визуальный базовый для ссылки на приложения – ваш друг здесь. Попробуйте начать с этой ссылки …

    Взаимодействие свойств Outlook Mailitem

    Например, я вижу, что это сообщение, вероятно, будет иметь дополнительные свойства, кроме перечисленных выше. Например.

    • message.CC
    • message.Importance
    • message.LastModificationTime

    Для всех интересующихся, как добраться до любой папки по умолчанию, а не только «Входящие», вот список:

     3 Deleted Items 4 Outbox 5 Sent Items 6 Inbox 9 Calendar 10 Contacts 11 Journal 12 Notes 13 Tasks 14 Drafts 

    Есть еще (напоминания, ошибки синхронизации и т. Д.); вы можете получить весь список с помощью этого кода (вдохновленный решением Джона Кука для папок):

     import win32com outlook=win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI") for i in range(50): try: box = outlook.GetDefaultFolder(i) name = box.Name print(i, name) except: pass 

    Я не вставляю весь список здесь, потому что мой на польском языке и не будет действительно полезным.

    Я думал, что добавлю что-то и для навигации по папкам – все это вытекает из документации Microsoft, приведенной выше, но может быть полезно здесь, особенно если вы пытаетесь перейти в любую папку в структуре папок Outlook, кроме входящих.

    Вы можете перемещаться по коллекции папок с помощью folders – обратите внимание, в этом случае GetDefaultFolder отсутствует после GetNamespace (иначе вы, скорее всего, попадете в папку «Входящие»).

     outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace('MAPI') folder = outlook.Folders[1] 

    Число – это индекс папки, к которой вы хотите получить доступ. Чтобы узнать, сколько там подпапок:

     folder.Count 

    Если есть дополнительные подпапки, вы можете использовать другие Folders для более глубокого:

     folder.Folders[2] 

    Folders возвращают список подпапок, поэтому, чтобы получить имена всех папок в текущем каталоге, вы можете использовать быстрый цикл.

     for i in range(folder.Count): print (folder[i].Name) 

    Каждая из подпапок имеет метод .Items для получения списка писем.

    Вы можете видеть все объекты Outlook в реальном времени и их данные в OutlookSpy .

    Свойства, методы и события объекта MailItem документируются на странице https://msdn.microsoft.com/en-us/library/office/ff861332.aspx

    Python - лучший язык программирования в мире.