Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Программирование в Exchange Server
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

Лабораторная работа 1.2

Получение информации о содержимом почтового ящика

Подключение к базе данных Exchange Server средствами ADO/Exchange OLE DB Provider, поля сообщения, получение информации в Recordset о содержании почтового ящика

Задание:

Измените созданную вами на предыдущей лабораторной работе процедуру MailboxProcessing() таким образом, чтобы для всех сообщений в почтовом ящике (вне зависимости от их вложенности) в окно Immediate выводилась информация о:

  1. имени сообщения;
  2. типе сообщения (чтобы была возможность отличить обычное письмо от контакта, или элемента календаря, или заметки и т.п.);
  3. размере сообщения;
  4. пути к сообщению;
  5. пути к папке, в которой находится это сообщение;
  6. времени создания;
  7. времени последнего изменения;
  8. времени последнего обращения к этому сообщению.

Решение:

Код процедуры MailboxProcessing() после внесеняи изменений может быть таким:

Sub MailboxProcessing()

Dim sURL As String

sURL = "file://./backofficestorage/nwtraders1.msft/mbx/Admin"

Dim cn As New ADODB.Connection

cn.Provider = "ExOLEDB.DataSource"

cn.ConnectionString = sURL

On Error GoTo ErrorHandler

cn.Open

On Error GoTo 0

Dim sSQL As String

sSQL = "SELECT ""DAV:displayname"", ""http://schemas.microsoft.com/exchange/outlookmessageclass"", " & _

"""http://schemas.microsoft.com/mapi/proptag/x0e080003"", ""DAV:href"", ""DAV:parentname"", " & _

"""DAV:creationdate"", ""DAV:getlastmodified"", ""DAV:lastaccesssed"" " & _

"FROM SCOPE ('DEEP TRAVERSAL OF """ & sURL & """') WHERE ""DAV:isfolder"" = False"

'sSQL = "SELECT ""http://schemas.microsoft.com/mapi/proptag/x0e080003"", ""DAV:href"", ""DAV:hassubs"", ""DAV:displayname"" " & _

   "FROM SCOPE ('SHALLOW TRAVERSAL OF """ & sConnString & """') WHERE ""DAV:isfolder"" = true"

Dim rs As New ADODB.Recordset

rs.LockType = adLockOptimistic

rs.CursorType = adOpenStatic

rs.Open sSQL, cn

Do While rs.EOF = False

    Debug.Print rs.Fields("DAV:displayname").Value & vbTab & _

rs.Fields("http://schemas.microsoft.com/exchange/outlookmessageclass").Value & vbTab & _

rs.Fields("http://schemas.microsoft.com/mapi/proptag/x0e080003").Value & vbTab & _

rs.Fields("DAV:href").Value & vbTab & rs.Fields("DAV:parentname").Value & vbTab & _

rs.Fields("DAV:creationdate").Value & vbTab & rs.Fields("DAV:getlastmodified").Value & _ vbTab & rs.Fields("DAV:lastaccesssed").Value

    rs.MoveNext

Loop

Exit Sub

ErrorHandler:

Dim ADOError As ADODB.Error

For Each ADOError In cn.Errors

    MsgBox ADOError.NativeError & vbCrLf & ADOError.Description

Next

End Sub

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 
© 2004-2008, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru