У меня есть иерархия каталогов, полная файлов данных электронной почты EML/MSG. Эти файлы могут быть импортированы в MS Outlook 2010 (настольная версия) по одному, но я ищу способ автоматизировать это. Мне нужно создать каждую папку в качестве папки Outlook и импортировать файлы данных электронной почты в эти папки Outlook. Кто-нибудь знает о Outlook 2010 API, который позволяет создавать папки & импортировать файлы?Как импортировать файлы электронной почты MSG/EML в Outlook через API?
ответ
Чтобы создать новые папки в Outlook, используйте MAPIFolder.Folders.Add.
Модель объекта Outlook не поддерживает импорт файлов EML или MSG (или любых других файлов, если на то пошло).
Для MSG файлов вы можете
Использование Extended MAPI (C++ или Delphi oinly) и функция OpenIMsgOnIStg открыть файл MSG. Затем вы можете создать новое сообщение в целевой папке и скопировать свойства либо с помощью IMesage.CopyTo (имейте в виду, что автономные файлы MSG неправильно обрабатывают именованные свойства в CopyTo) или читают свойства по одному и задают их на целевом сообщение явно.
Модель объекта Outlook может открывать файлы MSG с использованием Application.CreateItemFromTemplate (он будет создан в состоянии unsent) и с использованием Namespace.OpenSharedItem. Вы можете переместить сообщение (MailItem.Move) в целевой папку
Для файлов EML, вы можете
Использования Extended MAPI (C++ или только Delphi) и встроенный Интерфейс Outlook (IComverterSession). Вы можете играть с этим интерфейсом в OutlookSpy (нажмите кнопку IConverterSession).
Модель объекта Outlook не поддерживает файлы EML. Лучшее, что вы можете сделать, это создать свой собственный парсер и скопировать EML-файл в один заголовок/часть MIME Outlook за раз.
При использовании Redemption вариант, вы можете использовать метод RDOMail .Import - импортирует MSG (olMsg) и EML (olRfc822) файлы (а также несколько других форматов).
set Session = CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT '//or you can call Logon
set Inbox = Session.GetDefaultFolder(olFolderInbox)
set Msg = Inbox.Items.Add
Msg.Sent = true '//since Import does not copy this property
Msg.Import("c:\temp\test.eml", 1024) ' //1024 is olRfc822
Msg.Save
- 1. Группа электронной почты для электронной почты - Outlook Mail API
- 2. Отправка электронной почты через smtp-сервер outlook
- 3. Извлечение почты электронной почты Outlook
- 4. Обнаружение потока электронной почты в надстройке Outlook?
- 5. Как импортировать вложение электронной почты?
- 6. Импорт файлов электронной почты в Outlook программно
- 7. Как синхронизировать черновики электронной почты через EWS API 2.0
- 8. Отправка электронной почты через Outlook 2010 через C#
- 9. Как получить данные электронной почты при нажатии электронной почты, используя Outlook API в C#
- 10. Обновление сообщений электронной почты через Outlook vs EWS
- 11. Получить свойства электронной почты Outlook
- 12. Шаблоны электронной почты для Outlook
- 13. Форматирование электронной почты Outlook 2000
- 14. Outlook HTML подпись электронной почты
- 15. Проблемы с электронной почтой электронной почты электронной почты электронной почты в Outlook PC
- 16. Outlook - проверьте адрес электронной почты
- 17. Запрограммировать параметры электронной почты Outlook?
- 18. Программная проверка электронной почты Outlook
- 19. Подпись электронной почты Outlook - заголовок?
- 20. Outlook API: Поиск почты
- 21. Ошибка при отправке электронной почты через Outlook в vb?
- 22. Добавление содержимого в тело электронной почты Outlook через надстройку Office
- 23. Ошибка при отправке электронной почты с помощью Outlook API
- 24. Адрес электронной почты через google places API
- 25. Как получить адреса электронной почты из Outlook?
- 26. Получение отмеченных сообщений электронной почты/сообщений через O365 Rest API
- 27. MS Access VBA: отправка электронной почты через Outlook
- 28. адреса электронной почты в теле MS Outlook
- 29. Итерация через Outlook, сообщения электронной почты с конкретной темой
- 30. PYTHON/OUTLOOK Отправка электронной почты через PYTHON с помощью DOCX
Полноценный ответ, спасибо! Я проверю ваши ресурсы и вернусь. –