1 (изменено: fomenos, 2014-01-04 17:23:41)

Тема: Получение почты (Outlook/CDO/CDONTS)

Уважаемые форумчане, у меня такая ситуация:

Надо написать скрипт (например на  vbscript, jscript или под vba), который бы позволял просматривать содержимое электронного ящика (например почта на mail.ru, yandex и так далее), позволял обрабатывать папки (Входящие, Спам, Избранное и так далее), загружать содержимое письм а вложений, фактически полноценный почтовый клиент. Я уже перерыл пол интернета, но информации слишком много, тоесть:

1. Или использовать объектную модель Outlook, но тут я так понял, предварительно надо настроить сам Outlook
2 Библиотека CDO/CDONTS, тут довольно много объектов и документация на MSDN слишком огромна что бы все перевести. нашел такой пример:


dim objSession, objInbox, colMessages

set objSession = CreateObject("CDONTS.Session")
objSession.LogonSMTP "tema", "mail@gmail.com"
'Set objMessages = objSession.Inbox.Messages
set objInbox = objSession.Inbox
Set colMessages = objInbox.Messages

  
If colMessages.Count > 0 Then      
    For i = 1 To colMessages.Count
        MsgBox colMessages(i).Sender
        MsgBox colMessages(i).Subject
        MsgBox colMessages(i).Text
    Next
Else
    MsgBox " В почтовом ящике нет писем! "
End If
 
Set colMessages = Nothing
Set objInbox = Nothing
Set objMessages = Nothing
objSession.Logoff
Set objSession = Nothing

Но для строки
set objInbox = objSession.Inbox
выбивает ошибку "Невозможно создание объекта контейнером ActiveX"
Саму библиотеку CDO и CDONTS я установил, система Windows XP Sp3, Outlook не использую. Плюс, не ясно, какой метод или объект использовать для авторизации. Видимо, ч то то не понимаю - то ли надо некое ПО установить?
Можете сказать, если можно использовать для получения почты библиотеку CDO, то какой объект за это отвечает, или надо что то дополнительно устанавливать, или без Outlook никак?

Знаю про Microsoft MAPI Controls (MSMAPI32.ocx), вот только, как функционал данной библиотеки подключить в сценарии Windows Script Host?

2

Re: Получение почты (Outlook/CDO/CDONTS)

выбивает ошибку "Невозможно создание объекта контейнером ActiveX"

Значит такая библиотека не установлена.

Забыл пароль и потерял e-mail.

3

Re: Получение почты (Outlook/CDO/CDONTS)

Пробовал использовать объект MAPI.Session:


objSession.Logon "", "",true,true,True,True,strExServer & vbLf & strExUser

Но ничего не выходит, так как тут судя по всему нужен тот же Outlook. Я уже весь интернет перерыл, но ничего конкретного нет. Блин, можно ли вообще с помощью библиотеки CDO проверить почту? Если да, то какой объект использовать?

4

Re: Получение почты (Outlook/CDO/CDONTS)

fomenos
А сторонние библиотеки не годятся?

5

Re: Получение почты (Outlook/CDO/CDONTS)

Сторонние тоже годятся, например
http://www.ostrosoft.com/index.aspx
просто я потратил две сутки на библиотеку CDO, и просто было жаль.... столько времени потратил, а все в бестолку.... Эх...