Я импортировал свою почту Gmail в Outlook, используя IMAP, и теперь запускаю несколько сценариев отчетов VBA. Метки Gmail были преобразованы в папки в Outlook, и почтовые элементы с несколькими метками из Gmail, похоже, хранятся в нескольких папках в Outlook. Я пытаюсь вернуть свойство mailitem.parent, но в нем указывается только активный родительский элемент почты. То есть. Если я выполняю поиск в папке "Категории тестирования", она возвращает только "Категории тестирования", даже если эти сообщения также находятся в папке "Входящие" и других папках.

For Each olItem In olFolder.Items
On Error Resume Next
If olItem.MessageClass = "IPM.Note" Then
Set olMail = olItem
Debug.Print olMail.Parent
...

1 ответ1

1

IMAP Gmail довольно сложный. Поскольку Gmail не поддерживает папки (как требует IMAP), он имитирует папки, предоставляя имена меток почтовым клиентам (например, Outlook). Когда у вас есть несколько меток на электронной почте, он фактически предоставляет копию сообщения электронной почты для каждой IMAPI-папки. С точки зрения Outlook и любого другого клиента IMAP эти сообщения отличаются. Если вы удалите письмо в одной из этих "папок", Gmail просто удалит из него ярлык. И если вы собираетесь изменить электронную почту (скажем, изменить тему) в одной из "папок", Gmail создаст фактическую копию электронной почты, которую вы увидите на gmail.com. Единственный уникальный идентификатор, который объединяет эти электронные письма, - это свойство MAPI PR_INTERNET_MESSAGE_ID (http://schemas.microsoft.com/mapi/proptag/0x1035001F).

Итак, если вы действительно хотите собрать все метки Gmail из одного конкретного электронного письма, вам нужно получить свойство http://schemas.microsoft.com/mapi/proptag/0x1035001F с помощью PropertyAccessor, а затем выполнить поиск по всему почтовому ящику по значению этого свойства, чтобы найти соответствующие электронные письма. И даже тогда вы можете не получить все результаты, потому что не все ярлыки Gmail могут быть доступны с помощью IMAP, и не все папки IMAP могут быть синхронизированы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .