|
Outlook MAPI 1c | ☑ | ||
---|---|---|---|---|
0
Linker12
naïve
20.03.24
✎
09:23
|
Всем привет. Буду признателен, за любую помощь.
При получении входящих сообщений из почты по MAPI из Outlook, все работает. Но автоматом, новые сообщения с сервера не подгружаются. Приходится заходить в оутлук, письма прилетают. Потом получать их из папки "Входящие" в 1с по MAPI. Может есть метод, который позволяет получать входящие с сервера по MAPI. Спасибо |
|||
1
eklmn
гуру
20.03.24
✎
09:36
|
ты хоть покажи как сделано сейчас
телепаты еще спят... |
|||
2
arsik
гуру
20.03.24
✎
09:38
|
А накуя через аутлук? А напрямую? В штатные конфигурации все встроено. Хош pop3, хош imap.
|
|||
3
Волшебник
20.03.24
✎
09:42
|
||||
4
eklmn
гуру
20.03.24
✎
09:44
|
(2) погоди, не спугни!
там очень много вопросов, даже интересно что он там навелосипедил! |
|||
5
arsik
гуру
20.03.24
✎
09:56
|
(3) Да не. Все правильно у него. Только он зачем то полез с почтой работать через объект 1с "Почта" - наследие из 77
Вместо этого нужно было использовать "ИнтернетПочта" |
|||
6
Linker12
naïve
20.03.24
✎
10:16
|
(5) Объясню, отчего выбор пал на аутлук.
В ИнтернетПочта - нет возможности получать отчеты о доставке и прочтении. Методы есть, но они не работают. Пришлось делать через COM |
|||
7
Linker12
naïve
20.03.24
✎
10:18
|
(1)с удовольствием, только скажите, что именно. Там кода с полкилометра.
Проблемное место, в сухом остатке, выглядит так: Оутлук = Новый COMОбъект("Outlook.Application"); ПространствоИмен = Оутлук.GetNamespace("MAPI"); Для Каждого Аккаунт Из ПространствоИмен.Stores Цикл Если Аккаунт.GetDefaultFolder(6).Store.DisplayName <> "почта@почта.org" Тогда Продолжить; Иначе КоллекцияВходящие = Аккаунт.GetDefaultFolder(6).Items; //Получили папку входящих сообщений КонецЕсли; КонецЦикла; |
|||
8
Linker12
naïve
20.03.24
✎
10:19
|
(3) именно по MAPI, не путаю
|
|||
9
Linker12
naïve
20.03.24
✎
10:20
|
(2) конфа самописная
|
|||
10
Linker12
naïve
20.03.24
✎
10:22
|
вот и выходит, что папку то я проверяю с входящими. Только вот туда ничего не упадет, пока не запущу оутлук руками.
как временный костыль для тестов, сделал так: ЗапуститьПриложение("C:\Program Files\Microsoft Office\Office14\OUTLOOK.EXE"); Таймер = Обработки.Таймер.Создать(); Таймер.Секунд = 60; Таймер.Надпись = "Получаем письма с сервера"; Таймер.ПолучитьФорму().ОткрытьМодально(); Но, это плохой вариант |
|||
11
arsik
гуру
20.03.24
✎
10:48
|
(6) Почему это нет? "отчеты о доставке и прочтении" - это отдельные входящие письма. Заголовки можно нормально прочитать и понять, что это отчет о прочтении и какого письма.
Отлук сейчас это за тебя делает и ставит флаг в основном письме "Доставлено" и "Прочитано". Но можно реализовать этот механизм и самому внутри 1С. |
|||
12
eklmn
гуру
20.03.24
✎
11:05
|
иначе
инбокс = Аккаунт.GetDefaultFolder(6) инбокс.InAppFolderSyncObject = True КоллекцияВходящие = инбокс.items конецесли попробуй, может поможет)) или еще это потереби ПространствоИмен.SyncObjects |
|||
13
Linker12
naïve
20.03.24
✎
11:51
|
(11) Заголовки то можно читать, это правда. Но в 1с на этапе отправки письма проблема с выставлением параметров "отчет о доставке" и "отчет о прочтении".
Ни разу не сработали. Письмо улетает с параметром по умолчанию на false. |
|||
14
Linker12
naïve
20.03.24
✎
12:49
|
(12) Золотой ты человек!
первый вариант сработал. Спасибо! |
|||
15
arsik
гуру
20.03.24
✎
12:08
|
(13) Если ты используешь УведомитьОПрочтении и УведомитьОДоставке, тогда нужно еще заполнить АдресаУведомленияОПрочтении.
|
|||
16
Linker12
naïve
20.03.24
✎
12:35
|
(15) да, заполнял. и тем адресом с которого отправлял и другим.
Даже адреса ставил с разными доменами. Яндекс, Майл, наш конторский. Не отрабатывает и все тут. Думал версия платформы с косяком. А интернет говорит, что ни на какой версии не могут методом воспользоваться корректно люди |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |