Модификация прикладной системы
Работа с электронной почтой
Получение писем по протоколу POP3, сохранение HTML-тел и вложений
// Определить константы.
adTypeBinary = 1
adSaveCreateOverWrite = 2
// Создать почтовую фабрику.
MailFactory = CreateObject("SBUM.MailFactory")
// Запросить у фабрики сервер типа "POP3".
Server = MailFactory.GetServer("POP3")
// Создать и означить параметры входа на сервер.
Credentials = MailFactory.CreateParamList()
Credentials.Items("User") ="user1"
Credentials.Items("Password") = "user1password"
Credentials.Items("Server") = "pop.mymail.ru"
// Выполнить вход на сервер.
Server.Logon(Credentials)
// Создать параметры фильтрации сообщений.
FilterParams = MailFactory.CreateParamList()
// Найти все входящие.
IncomingMessages = Server.SearchInbox(FilterParams)
// Выгружать все сообщения во временную папку.
TargetFolder ="D:\Temp\msg\"
// Обработать все сообщения.
i = 0
while i < IncomingMessages.Count
Msg = IncomingMessages.Values(i)
k = 0
// Обработать все вложения.
Attachments = ""
while k < Msg.Attachments.Count
Attachments = Attachments & Msg.Attachments.Names(k) & "; "
// Сохранить вложение при помощи потока.
StreamOut = CreateObject("ADODB.Stream")
StreamOut.Type = adTypeBinary
StreamOut.Open()
StreamOut.Write(Msg.Attachments.Values(k))
StreamOut.SaveToFile(TargetFolder & "msg" & i & "_"
&
Msg.Attachments.Names(k);
adSaveCreateOverWrite)
k = k + 1
endwhile
// Сохранить HTML-тело сообщения при помощи потока.
StreamOut = CreateObject("ADODB.Stream")
StreamOut.Type = adTypeBinary
StreamOut.Open()
StreamOut.Write(Msg.RawBody)
StreamOut.SaveToFile(TargetFolder & "msg" & i & "("
& Msg.RawBodyEncoding &
").html"; adSaveCreateOverWrite)
i = i+ 1
endwhile
// Выполнить выход с сервера.
Server.Logoff()
См. также:
· Получение заголовков непрочитанных сообщений Exchange;
· Отправка письма по протоколу SimpleMAPI.
© 2009, Компания DIRECTUM
|
Отправить комментарий к этому разделу на
support@directum.ru
|