Имя: Пароль:
1C
 
Получение почты через MS Exchange
0 фобка
 
05.08.10
17:56
Добрый вечер.
Возник вопрос, каким образом можно получать письма в 1С через MS Exchange Server, в том числе забирать вложения?
1 Попытка1С
 
05.08.10
17:58
А в чем отличие от обычной почты например с mail.ru через 1ску?
2 фобка
 
05.08.10
18:00
корпоративная почта.. внутри сети
3 фобка
 
05.08.10
18:03
+ (0) интересует возможность забирать письма с "группового" ящика..
Заранее спасибо.
4 Попытка1С
 
05.08.10
18:03
(2) Ну там есть сервер, порт, ящик?
5 фобка
 
06.08.10
09:15
(4) трудный вопрос.. ms exchange сервер, авторизуется через аутлук, там же ящик :) отправку настраивал с помощью библиотеки Redemption.. а как настроить получение плохо представляю
6 фобка
 
06.08.10
09:30
отправка выглядела довольно просто, примерно так:

Procedure SendErrMail()
   sFileName = "d:\WORK\stock_errors"+Format(CurDate(),"DYYYYMMDD")+".xls";
   oA = CreateObject("Outlook.Application");
   oItem = CreateObject("Redemption.SafeMailItem");
   NameSpace = oA.GetNamespace("MAPI");
   NameSpace.Logon();
   pItem = oA.CreateItem(0);
   pItem.Subject = "Отчет о проблемах в БД стоков";
   pItem.Body = "В стоковых файлах обнаруженны некорректные данные. Письмо сформировано автоматически.";
   pItem.SentOnBehalfOfName = "info.***@****.ru"; //отправка от группы
   //sAdress = "mikhail.ivanov@****.ru;";
   //pItem.To = sAdress;
   //pItem.CC = TrimAll(Const.АдресаРассылкиДемона);
   oItem.Item = pItem;
   oItem.Attachments.Add(sFileName);
   oLst = глРазложить(TrimAll(Const.АдресаРассылкиДемона),";");
   For i = 1 To oLst.GetListSize() Do
       oItem.Recipients.Add(oLst.GetValue(i));
   EndDo;
   oItem.Recipients.ResolveAll();
   oItem.Send();
   NameSpace.Logoff();
EndProcedure
7 SnarkHunter
 
06.08.10
09:34
(1)Есть отличия, например, в протоколах...
8 фобка
 
06.08.10
12:04
ап, вопрос актуален
9 фобка
 
06.08.10
17:38
Удалось, всем спасибо за помощь :)
10 фобка
 
06.08.10
17:39
Чуть не забыл, оставлю для потомков, вопрос в инете скупо освещается, а на 1С форумах вообще ничего нет :

Function ReceivedMailRDO()
   olApp = CreateObject("Outlook.Application");
   olNameSpace = olApp.GetNamespace("MAPI");
   olNameSpace.SyncObjects.Item(1).Start();
   //olFolderMail = olNameSpace.GetDefaultFolder(6); //входящие
   rFolderMail = CreateObject("Redemption.SafeMailItem");
   RDO_Session = CreateObject("Redemption.RDOSession");
   RDO_Session.Logon();
   FolderMail = RDO_Session.GetSharedDefaultFolder("Algai IT", 6); //групповой ящик, цепляет только по имени
   Items = FolderMail.Items;
   For i = 1 To Items.Count Do
       rFolderMail.Item = Items.Item(i);
       If rFolderMail.UnRead = -1 Then
           If rFolderMail.Attachments.Count > 0 Then
               Message("rFolderMail.Subject = "+rFolderMail.Subject);
               Message("rFolderMail.ReceivedTime: "+rFolderMail.ReceivedTime);
               Message("From = "+rFolderMail.SenderName + " (" +rFolderMail.SenderEmailAddress+")");
               //For j = 1 To rFolderMail.Attachments.Count Do
               //        ...
               //        rFolderMail.SaveAsFile(...)    
               //EndDo;
           EndIf;
           //rFolderMail.UnRead = 0; //прочтенное
       EndIf;
   EndDo;
EndFunction