Постановка задачи
Необходимо отобразить информацию обо всех непрочитанных почтовых сообщениях пользователя. Информацию о каждом сообщении выдавать в формате:
ID: ИД сообщения
Subject: Тема сообщения
Size: Размер сообщения
Importance: Важность
From: Имя отправителя <Адрес отправителя>
To: Имя получателя
--------------------------------------------------------
Программный код
// Создать почтовую фабрику.
MailFactory = CreateObject("SBUM.MailFactory")
// Запросить у фабрики сервер типа "MAPI".
Server = MailFactory.GetServer("MAPI")
// Создать и означить параметры входа.
Credentials = MailFactory.CreateParamList()
Credentials.Items("ProfileName") = "Outlook"
// Выполнить вход на сервер.
Server.Logon(Credentials)
// Создать и означить параметры фильтрации сообщений.
FilterParams = MailFactory.CreateParamList()
FilterParams.Items("Read") = False
// Найти все входящие, попадающие под условия фильтра.
IncomingMessages = Server.SearchInbox(FilterParams)
MessageHeaders = ""
// Обработать все сообщения.
i = 0
while i < IncomingMessages.Count
Msg = IncomingMessages.Values(i)
// Составить список адресатов.
Tolist = Msg.To
To = ""
j = 0
while j < Tolist.Count
To = To & Tolist.Names(j) & " <" & Tolist.Values(j) & ">; "
j = j + 1
endwhile
// Сформировать текст с заголовками почтового сообщения.
MessageHeaders = MessageHeaders &
"ID: " & Msg.ID & CR &
"Subject: " & Msg.Subject & CR &
"Size: " & Msg.Size & CR &
"Importance: " & Msg.Importance & CR &
"From: " & Msg.FromName & " <" & Msg.FromAddress & ">" & CR &
"To: " & To & CR &
"--------------------------------------------------------" & CR & CR
i = i + 1
endwhile
// Выполнить выход с сервера.
Server.Logoff()
// Показать пользователю заголовки почтовых сообщений.
ShowMessage(MessageHeaders)
© Компания DIRECTUM, 2018 | Сообщество пользователей DIRECTUM |