VBCoding Статьи Visual Basic 6 Интернет и сеть Знакомство с MAPI

Visual Basic 6
Знакомство с MAPI

В этой статье описываются основные моменты работы с элементом управления Microsoft MAPI Controls.

Итак, MAPI (Mail Application Programming Interface) - это программы, работающие с почтовыми системами. С помощью MAPI вы можете получать, посылать письма, прикреплять к письмам файлы. Microsoft MAPI Controls является удобной оболочкой для работы с почтой

Для работы с примерами, приведенными в статье вам понадобится установленный Microsoft MAPI Controls, который содержится в файле MSMAPI32.OCX.

Теперь расположите на форме MAPISession и MAPIMessage. С их помощью мы создадим простую почтовую программу. Для использования этих элементов необходимо иметь установленный почтовый сервер, например Microsoft Outlook Express

Теперь, для приема или посылки писем вам необходимо получить доступ к почтовому серверу, используя ваш индентификатор и пароль. Возможны два способа: Либо MAPI controls сами делают всю работу за вас, либо вы вручную устанавливаете необходимые данные:

'Первый способ. Данные по умолчанию
Private Sub Form_Load()

MAPISession1.SignOn

MAPISession1.SignOff
End Sub

' Или вручную устанавливаем данные

Private Sub Form_Load()
MAPISession1.UserName = "MyName"
MAPISession1.Password = "MyPassword"
MAPISession1.SignOn

MAPISession1.SignOff
End Sub

Итак, мы научились устанавливать соединение с почтовым сервером. Теперь попробуем получить доступ к различным сервисам, доступным через MAPIMessage

MAPIMessage имеет многочисленные свойства и методы, необходимые для создания собственной почтовой программы

Давайте узнаем, сколько писем содержится в ящике Входящие из Outlook Express

Private Sub Form_Load()
MAPISession1.DownLoadMail = True
MAPISession1.SignOn

MAPIMessages1.SessionID = MAPISession1.SessionID
MAPIMessages1.Fetch
MsgBox "У вас " & MAPIMessages1.MsgCount & _
" сообщений!"

MAPISession1.SignOff
End Sub

А теперь попробуем получить другую интересную информацию. Добавьте Listbox на форму. Пишем следующий код:

Private Sub Form_Load()
Dim i As Long

MAPISession1.DownLoadMail = True
MAPISession1.SignOn

MAPIMessages1.SessionID = MAPISession1.SessionID
MAPIMessages1.Fetch

If MAPIMessages1.MsgCount > 0 Then
For i = 0 To MAPIMessages1.MsgCount - 1
MAPIMessages1.MsgIndex = i
List1.AddItem "От:" & MAPIMessages1.MsgOrigDisplayName & _
" Тема:" & MAPIMessages1.MsgSubject
Next
End If
MAPISession1.SignOff
End Sub

С помощью данного кода мы получим список всех заголовков писем из ящика Входящие

Вы можете использовать MsgOrigAddress вместо MsgOrigDisplayName. В этом случае вы получите электронные адреса отправителей (вместо псевдонимов)

Вы можете получить доступ и к другой информации, заложенной в письмах. Например, попробуйте использовать MsgDateReceived (дата получения письма)

Создание письма

Для создания письма нужно задать несколько необходимых параметров

Private Sub Form_Load()
MAPISession1.SignOn

MAPIMessages1.SessionID = MAPISession1.SessionID

MAPIMessages1.Compose
MAPIMessages1.RecipAddress = " Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript "
MAPIMessages1.MsgSubject = "I Love you"
MAPIMessages1.MsgNoteText = "Куплю окна. Оптом."

MAPIMessages1.Send False

MAPISession1.SignOff
End Sub

Используя False в методе Send, вы запрещаете показ окна Создание нового письма

На этом мы и закончим краткое описание элемента управления MAPI Controls. Успешного вам программирования!

Источник: http://www.vbnet.ru/
 

Добавить комментарий


Защитный код
Обновить

 
VBCoding Статьи Visual Basic 6 Интернет и сеть Знакомство с MAPI  
Powered by Exponenta -