1 (изменено: pavel.garshin.01, 2022-09-30 18:20:20)

Тема: AHK: получение текста писем из Outlook из определенной папки

Добрый день.
Пытаюсь получить тексты писем из Outlook из определенной папки моего почтового ящика на работе.
Нашел код на просторах интернета, но он не работает:


F5::
	olApp := ComObjCreate("Outlook.Application")
	olNameSpace := olApp.GetNamespace("MAPI")
	olFolder := olNameSpace.Folders("ppp.garshin@yandex.ru").Folders("Заказы")
	sSubject := "Сладости Славянка: заказ"
	for olItem in olFolder.Items.Restrict("@SQL=""http://schemas.microsoft.com/mapi/proptag/0x0037001f"" = '" sSubject "'")
		MsgBox % olItem.CreationTime "`n" olItem.ReceivedTime "`n" olItem.Subject "`n" olItem.Body	; Any valid Item property will work here
return

Подставил свое мыло, название папки и в sSubject указал отрывок темы.
Папка Заказы находится в верхней иерархии (не вложена). После запуска видно, что скрипт запускает Outlook в фоновом режиме, но больше ничего не происходит.
Подскажите пожалуйста в чем может быть проблема?

P.S. Еще меня немного беспокоит командное слово SQL в цикле. Это случайно не из области взлома через SQL инъекции? Я ведь экспериментировал прямо на работе, с рабочей почты. За мной безопасники не прибегут?

2

Re: AHK: получение текста писем из Outlook из определенной папки

pavel.garshin.01
Попробуйте посмотреть это: https://github.com/Ixiko/AHK-libs-and-c … ce/Outlook

3 (изменено: pavel.garshin.01, 2022-10-10 20:34:33)

Re: AHK: получение текста писем из Outlook из определенной папки

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


olApp := ComObjActive("Outlook.Application")
olTestFolder := olApp.Session.Folders("ppp.garshin@yandex.ru").Folders.Item("Заказы")
olLoopFolder(olTestFolder)
ExitApp

olLoopFolder(olFolder) 
{
    s := "Folder: " olFolder.Name "`r`n"
	for olItem in olFolder.Items
	{
		s := olItem.Body "`r`n"
		MsgBox, %s%
    }
}

Все работает как надо. Буду сейчас подгонять под себя.