Копировать ссылку на страницу

Постановка задачи

Необходимо отобразить информацию обо всех непрочитанных почтовых сообщениях пользователя. Информацию о каждом сообщении выдавать в формате:

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)

© 2016 Компания DIRECTUM Сообщество пользователей DIRECTUM