Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.09.2015, 12:26   #1
Mishko78
Пользователь
 
Регистрация: 28.09.2015
Сообщений: 11
По умолчанию Протокол MAPI over HTTP

Уважаемые профи! Подскажите где можно почитать или найти код соединения с почтовым ящиком по протоколу MAPI over HTTP

Мне надо читать входящие сообщения и обрабатывать вложения заархивированные/незаархивированные. Какая компонента подойдет для этих целей?
Mishko78 вне форума Ответить с цитированием
Старый 28.09.2015, 12:37   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Какая компонента подойдет для этих целей?
А в WinAPI по факту компонент нет. Тебе точно WinAPI нужно?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.09.2015, 12:49   #3
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Проще всего наверно через Outlook.
Спецификация протокола здесь: https://msdn.microsoft.com/en-us/lib...exchg.80).aspx

@Stilet
Смотря что называть компонентами.
Например COM - Component Object Model.

Последний раз редактировалось waleri; 28.09.2015 в 12:53.
waleri вне форума Ответить с цитированием
Старый 28.09.2015, 12:58   #4
Mishko78
Пользователь
 
Регистрация: 28.09.2015
Сообщений: 11
По умолчанию

Наш админ сказал, что протокол MAPI over HTTP. Я имею ввиду компоненты, например, Indy или другие.

Пробовал с помощью IMAP4 Indy. Прерывается соединение по тайм ауту.

Читаю про MAPI
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
http://uinc.ru/articles/13/

Где то еще можно почитать?

Вы имеете ввиду Outlook компоненты в Делфи? А если почтовый ящик не привязан к Outlook?
Mishko78 вне форума Ответить с цитированием
Старый 28.09.2015, 13:09   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Например COM - Component Object Model.
Ну да. Согласен.
Цитата:
Я имею ввиду компоненты, например, Indy или другие.
А почему ты в эту ветку тему втулил тогда? Тебе Делфи всетки нужен?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.09.2015, 13:30   #6
Mishko78
Пользователь
 
Регистрация: 28.09.2015
Сообщений: 11
По умолчанию

Да Делфи...есть ли компоненты для цели, указанной в теме вопроса?
Mishko78 вне форума Ответить с цитированием
Старый 28.09.2015, 13:36   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну тогда тему переношу.

Насчет компонент не могу так сказать, не очень понимаю что имел ввиду твой админ... over HTTP... Имеется ввиду, что вы там через прокси сидите, или как?
Так то ты на правильный компонент набрел: IMAP4 Indy
Лично я других в Делфи не знаю.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.09.2015, 13:55   #8
Mishko78
Пользователь
 
Регистрация: 28.09.2015
Сообщений: 11
По умолчанию

Да через прокси. На Connect возникает ошибка "Socket Error # 10060
Connection timed out". Подскажите что неправильно?

Код такой
Код:
with IdIMAP41 do
begin
  Host := 'elc***.ru';
  UserName := 'm.mik*****';
  Password := '*****';
  Port := 443{};
  IOHandler := SslSocket;
  UseTLS := utUseImplicitTLS;

 try
   Connect;
   SelectMailBox('INBOX');
   i:= MailBox.TotalMsgs;
   IdIMAP41.Retrieve(i, Msg); //забрали письмо
   Msg.MessageParts.CountParts; //разобрали на запчасти
    for J:= 0 to Msg.MessageParts.Count-1 do //на случай, если прицеплен не один файл
    begin
     if (Msg.MessageParts.Items[j] is TIdAttachment) then
     begin
     TIdAttachment(Msg.MessageParts.Items[j]).SaveToFile(TargetDir+'\'+TIdAttachment(Msg.MessageParts.Items[j]).FileName);
     end;
    end;

  finally
    Disconnect;
  end;
end;

Последний раз редактировалось Mishko78; 28.09.2015 в 14:02.
Mishko78 вне форума Ответить с цитированием
Старый 28.09.2015, 15:07   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Да через прокси.
Тогда для IdIMAP41 нужно в его свойствах настроить Проксик )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.09.2015, 15:15   #10
Mishko78
Пользователь
 
Регистрация: 28.09.2015
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Тогда для IdIMAP41 нужно в его свойствах настроить Проксик )
Вы имеете ввиду host и port?
Mishko78 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Http протокол ts-alan ASP.NET 1 10.02.2015 11:07
Подскажите где найти MAPI для vba Excel lioon Microsoft Office Excel 0 09.09.2014 08:19
Вопрос по Simple MAPI Rin Win Api 2 18.08.2010 07:49
Вопрос ао отправке сообщения на определённое мыло по Simple MAPI Rin Работа с сетью в Delphi 0 07.08.2010 18:45
Копирование файлов через http протокол Serega_P Работа с сетью в Delphi 3 06.12.2008 14:35