Конфигурация "Почтовый клиент" на УФ (8.2, 8.3)










Конфигурация для работы с почтой на управляемых формах для платформы 8.2, 8.3.

     Конфигурация предназначена для работы с электронной почтой. Написана на управляемых формах и использовалась в файловом варианте. Возможно использование в варианте клиент-сервер. Практическое применение каждый может определить для себя сам. Лично мне хотелось иметь нечто подобное в своем распоряжении в привычном виде и с тем функционалом, который мне был необходим. Конфигурация работает пока по протоколу POP3 и SMTP. Поддерживает сообщения в формате текста и HTML. Планирую добавить поддержку Base64. Редактор HTML(автору большое спасибо!) взят тут: //infostart.ru/public/75313/ Есть простенькие фильтры. Произвольное количество почтовых ящиков и папок для каждого из них. Получение почты с интервалом для каждого почтового ящика. Подписи к сообщениям в текстовом и HTML форматах. Работа с вложениями. Быстрое переключение между почтовыми ящиками.  Для начала работы необходимо создать нужные почтовые ящики и настроить их(кнопка «настройка») в форме списка почтовых ящиков. Вход в сам почтовый ящик происходит двойным щелчком ЛКМ в той же форме списка почтовых ящиков. Далее, переключение между ящиками происходит в рабочей области кликом на нужном почтовам ящике в левой части рабочей области. Аналогично происходит переключение между папками почтового ящика. Я не специалист в области электронной почты, поэтому не предендую на использования полного функционала E-Mail. Возможно, кто-то найдет для себя что-то полезное.


Версия 1.1: Добавлена поддержка SSL. Установочный файл STunnel и файл конфигурации для GMail находится непосредственно в программе. Установка SSL производится обработкой из меню «Сервис». При добавлении в почтовые ящики любого ящика с поддержкой SSL служба запускается при старте программы автоматически. При первом запуске автоматически заполняются настройки сервера GMail. Добавлен флаг «Удалять почту с сервера» в настройки почтового ящика.


Версия для 8.3 в интерфейсе «Такси»: Выложил конфигурацию для версии 8.3 в интерфейсе «Такси». В ней поддержка SSL имеется в штатном режиме. Исправлены ошибки при отображении вложений картинок на форме в этом интерфейсе.

Внимание!!! Рабочая версия тестировалась на релизе 8.3 (8.3.4.408). В ней ошибок не выявил. В версии 8.3 (8.3.4.365) имелись проблемы с работой объекта ИнтернетПочта:

  • некоторые сообщения приходили без текстов
  • сообщения через Rambler(SMTP) не уходили с ошибкой smtp error 501

Учтите это при использовании.

99 Comments

  1. iov

    гугл с его множественными ярлыками лесом идет я так понимаю?

    по поп удаляет письма с ящика?

    поддерживает цепочки писем?

    Reply
  2. 2PRV

    Через какой протокол работает? только pop и smtp?

    Reply
  3. alexkon

    (1) iov, Вы имеете ввиду механизм ярлыков на gmail? У меня в них не было необходимости, но это можно было бы сделать. В след. версии добавлю флажок «Удалять письма с сервера» в настройки почтового ящика. Цепочки в этой версии не поддерживаются, но идея хорошая, нужно сделать.

    Reply
  4. alexkon

    (2) 2PRV, в данный момент работает POP3 и SMTP. К следующему релизу планирую сделать поддержку IMAP.

    Reply
  5. webester

    На скринах письма от администрации mail.ru, предполагаю, что автор проверял на ящике mail.ru а gmail пробовали?

    Reply
  6. alexkon

    (5) webester, GMail работает только с SSL. Штатных средств на 1С8.2 для этого нет. Но можно использовать стороннее ПО, например это: http://infostart.ru/public/84576/ .Лично сам это пробовал, с GMail работает.

    Reply
  7. alexkon

    Добавил SSL и поддержку GMail. Установка SSL происходит из соответствующей обработки. Используется бесплатная утилита STunnel. Конфигурация уже содержит установочный файл и файл конфигурации для GMail.

    Reply
  8. 1v7

    Каждая новая конфигурация достойна плюса, хотя бы за идею!

    Reply
  9. dufrein

    Как обстоит дело с отображением картинок? За обработку спасибо

    Reply
  10. alexkon

    (9) dufrein, если формат сообщения HTML, то картинки отображаются. Приложил скрин сообщения с картинками.

    Reply
  11. alexkon

    (8) 1v7, Благодарю! Я тоже так думаю. Очень часто можно найти что-то для себя новое и интересное даже в разработках, которых предостаточно. Это может быть сама идея, способ реализации, может что-то натолкнуть на новую мысль.

    Reply
  12. vandalsvq

    SSL поддерживается платформой, но с 8.3, можно не парится со стунелем. Можно допилить и выложить версию для 8.3

    Reply
  13. alexkon

    (12) vandalsvq, совершенно верно! Для версии 8.3 выложу отдельную конфигурацию без STunnel&

    Reply
  14. Mogidin

    имапа очень не хватает

    Reply
  15. alexkon

    (14) Mogidin, как раз сейчас работаю надо его поддержкой.

    Reply
  16. vandalsvq

    (15) alexkon, когда научишься делать изменение каталогов писем (папок) через ИМАП расскажи. А то руки все не доходят.

    Reply
  17. alexkon

    (16) vandalsvq, имеешь ввиду подгружать каталоги с почтового сервера и управлять ими по IMAP?

    Reply
  18. vandalsvq

    (17) alexkon, Загружать каталоги, изменять родителей, перемещать письма между каталогами.

    Reply
  19. alexkon

    (19) vandalsvq, да, понял. Все это сделаю. Самому интересно))

    Reply
  20. DoctorRoza

    Не знаю, зачем такое нужно! Ну если только в качестве полета фантазии! 🙂 Но плюс однозначно!

    Reply
  21. alexkon

    (21) DoctorRoza, как вариант автоматизировать сбор и анализ почты непосредственно из 1С. Генерация отчетов с последующей рассылкой по запросу в виде какой-либо формы письма. Создание каких либо документов на основании входящего письма(с фильтрацией по определенному алгоритму). Своего рода аналог веб-сервиса, только без их использования как таковых.:))) Есть много альтернатив — эта лишь одна из них)))) Не знаю как сейчас, но в свое время встроенные клиенты в типовые конфигурации не поддерживали УФ(кто в курсе — поправьте).

    Reply
  22. vlad.frost

    (0) alexkon, ещё есть почтовый клиент в Библиотеке стандартных подсистем http://v8.1c.ru/libraries/ssl/intsub.htm#interactions

    Reply
  23. alexkon

    (23) vlad.frost, средства для работы с электронной почтой есть во многих конфигурациях, но все они очень тесно интегрированы в нее. Что касается средств для работы с электронной почтой в БСП: при первоначальном знакомстве выявил некоторые неудобства. При пересылке сообщений и ответе на него не вставляется само пересылаемое сообщение, что, на мой взгляд, не очень удобно. В моей конфигурации это есть. Еще обратил внимание на то, что нельзя сделать предварительный просмотр вложений(если это картинка), приходится каждое вложение открывать. В моей конфигурации можно предварительно на форме посмотреть. Как недостаток могу выделить использование в БСП в исходящих сообщениях формата HTML форматированного документа. Не знаю как сейчас, но раньше то, что было написано и отправлено в форматированном документе не соответствовало тому, как это выглядело при получении сообщения(в случае сложного форматирования с вставленными изображениями). По этой причине в свое время я и отказался от этого объекта. В остальном в БСП сделано тоже хорошо. Не знаю, насколько сложно будет его вырезать из БСП 🙂

    Reply
  24. aximo

    Интересная вещь в качестве…. обучения….

    Reply
  25. alexkon

    (25) aximo, совершенно верно! Задача полного вытеснения почтовых клиентов не стояла:)

    Reply
  26. webresurs

    (26) alexkon, подскажите возможно вызвать открытие отправки письма с вложение?,

    к примеру на файле через правую кнопку мыши добавить ярлык в меню «Отправить — Адресат»

    — да то как должна выглядеть ссылка…

    Reply
  27. alexkon

    (27) webresurs, Вы имеете ввиду из проводника Windows вызвать открытие 1С с последующим открытием исходящего сообщения с вложенным файлом?

    Reply
  28. webresurs

    (28) alexkon, Да, такое возможно?

    Reply
  29. m_aster

    Супер, спасибо!

    Reply
  30. alexkon

    (29) webresurs, штатными средствами это не получится сделать. Можно написать какую-нибудь программку, которая будет открывать 1С через OLE или COM и далее в ней без проблем можно программно создать сообщение, прикрепить нужный файл и отправить кому угодно. Можно с открытием программы, либо без него.

    Reply
  31. Andry.Boris

    + Интересная вещь…

    Reply
  32. unichkin

    Не подключается к яндексу, сервер входящих — smtp.yandex.ru (порт 25) , сервер исходящих — pop.yandex.ru (порт 143), галки использовать ssl — не стоят. Логин-пароль правильные, галку smtp требует аутентификации снимал.

    Reply
  33. alexkon

    (33) zhuravlik, у Вас перепутаны сервера входящих и исходящих сообщений. Поставьте вот такие настройки:

    Reply
  34. alexkon

    (30) m_aster, рад, что Вам понравилось:)

    Reply
  35. alexkon

    (32) Andry.Boris, спасибо за проявленный интерес)

    Reply
  36. webresurs

    возможно не работает!

    — на яндексе в папке входящие созданы подпапки …2Почтовый клиент» зависает… на всегда

    Reply
  37. alexkon

    (37) webresurs, опишите подробнее проблему. Какая-нибудь ошибка пишется? С других ящиков почта получается(при наличии вложенных папок на сервере)? Я для примера создал на Яндексе вложенную папку «Тест». Если письмо приходит во входящие на сервере, то получение идет без проблем. Если письмо приходит во вложенную папку «Тест» на сервере(при добавлении правил), то оно НЕ получается. Но зависаний нет. Какой у Вас релиз платформы и в каком варианте (файловый, клиент-серверный) работаете?

    Reply
  38. nick_krsk

    Спасибо за разработку! ) Мне был нужен почтовый клиент, смотрел в сторону БСП, но там много связанных объектов, которые лично мне не нужны и засоряют конфигурацию. И для обучения очень полезная вещь)

    Reply
  39. alexkon

    (39) nick_krsk, рад, что Вам пригодилось)))

    Reply
  40. Xershi

    А разбор кода на 8.2 для отправки прямо из формы документа (без использования почтового клиента) можешь подсказать?

    Reply
  41. Xershi

    Уже разобрался с кодом. Скажи успешная отправка письма у тебя сколько времени занимает? У меня строка

    ИнтернетПочта.Послать(Сообщение);

    отрабатывает за 37 секунд…

    Reply
  42. alexkon

    (42) Xershi, если не посылаю никакой файл, то отсылка происходит мгновенно. Все зависит от скорости соединения. Но 37 секунд ни разу не было, значительно меньше.

    Reply
  43. coolvic

    Здравствуйте! Не совсем понял, данную конфигурацию нельзя объединить с существующей? Только разворачивать как новую?

    Reply
  44. alexkon

    (44) coolvic, что Вы подразумеваете под «существующей»? Вы имеете ввиду какую-то типовую?

    Reply
  45. FireFox_Manager

    (44) coolvic, данную конфигурацию можно объединить с любой другой, так как она оформлена в виде подсистемы.

    Reply
  46. ron1

    Плюс за идею. Если бы я работала не на разных компьютерах, а только на одном, то обязательно поставила бы себе.

    Reply
  47. coolvic

    (45) alexkon, У меня, к сожалению, не получилось. После объединения конфигурация не запускается. Выдает ошибку.

    Reply
  48. coolvic

    (45) alexkon, я имею ввиду типовую УТ 10.3. После попытки объединения ошибка при запуске.

    Reply
  49. alexkon

    (49) coolvic, а какая именно ошибка возникает?

    Reply
  50. alexkon

    (47) ron1, Спасибо, поначалу я ее и создавал для этого))

    Reply
  51. flyer

    подскажите у кого нибудь получилось данную конфигурацию для веб клиента доработать?

    Reply
  52. shurmixa

    Добрый день! При отправке сообщения выходит ошибка

    Ошибка при вызове метода контекста (Послать): Сервер требует аутентификации (SMTP error code 530, Authentication required) »

    В чем может быть проблема ? Галочка smtp аутентификации стоит! Спасибо.

    Reply
  53. alexkon

    (53) shurmixa, а на какой почтовый сервер посылаете сообщения? Проверьте правильность указания имени пользователя и пароля.

    Reply
  54. shurmixa

    (54) alexkon, сервер inbox, логин и пароль уже несколько раз проверял. не работает

    Reply
  55. alexkon

    (55) shurmixa, inbox — это mail.ru???

    Reply
  56. shurmixa

    (56) alexkon, от mail. уже нашел ошибку, ошибка была в файле stunnel.conf спасибо

    Reply
  57. alexkon

    (57) shurmixa, а у вас SSL используется для mail.ru? У меня в настройках этого сервера не используется SSL. Но, раз разобрались — хорошо! 🙂

    Reply
  58. apapin

    Добрый день.

    Сейчас яндекс ввела систему шифровани.

    Будет работать?

    Reply
  59. apapin

    И еще вроде как маил тоже ввели такую штуку … (шифрование)

    Reply
  60. alexkon

    (59) apapin, Вы имеете ввиду SSL? При использовании SSL на яндексе проблем нет.

    Reply
  61. andrey_462

    Здравствуйте, Вы не могли б мне выслать на почту andrey_borovkov@ukr.net Вашу разработку Конфигурация Почтовый Клиент. Буду крайне благодарен!!

    Reply
  62. Yashazz

    А вот мне надо из MS Outlook выдернуть письма и вложения, и работать с ними. Это ваша конфа может?

    Reply
  63. tarassov
    Добавлена поддержка SSL. Установочный файл STunnel и файл конфигурации для GMail находится непосредственно в программе. Установка SSL производится обработкой из меню «Сервис».

    — зачем? 1С уже умеет работать с SSL напрямую, без туннеля

    Reply
  64. alexkon

    (64) tarassov, как раз для конфигурации 8.3 я и обозначил это.

    Reply
  65. alexkon

    (63) Yashazz, конфигурация никак не связана с установленным почтовым клиентом. Но, раз у Вас установлен клиент, значит, имеются сервера почты, с которыми он связан — вот, оттуда и можно работать с почтовыми письмами и вложениями!

    Reply
  66. VVi3ard

    (25) aximo,

    В качестве обучения ужасная вещь, чего стоит только:

    Функция СообщениеОтправлено(ДокСсылка) Экспорт

    ДокОбъект = ДокСсылка.ПолучитьОбъект();

    Возврат ДокОбъект.Отправлено;

    КонецФункции // СообщениеОтправлено()

    А учитывая что файлы хранятся в ТЧ того же объекта ДокСсылка.ПолучитьОбъект() будет создавать большую нагрузку.

    Опять же зачем то вместо формы списка используется журнал, в БСП журнал используют потому что у них 2 вида документов (Входящее/Исходящее) тут использование журнала не имеет смысла.

    Да и вообще архитектура на мой взгляд очень не оптимальная.

    Reply
  67. alexkon

    (67) VVi3ard, действительно, в конфигурации 8.2 нашел такую функцию. Видимо, на момент написания отлаживал через нее функционал и забыл исправить. В конфигурации 8.3 она уже у меня закомментирована. Естественно, так быть не должно, спасибо за замечание! Конфигурацию исправил. Про журнал: изначально хотел тоже делать два вида документа и начал было, потом пришел к такому решению как сейчас, но перерисовывать журнал на список просто не стал.

    Reply
  68. dj_serega

    Имхо, реквизит «дата отправления» нужно заменить на «дата отправки»

    Reply
  69. Moidodr

    {ОбщийМодуль.ОбщегоНазначения.Модуль(327)}: Ошибка при вызове метода контекста (Подключиться): Время ожидания операции чтения истекло.

    Что делать чтобы решить проблему?

    Reply
  70. alexkon

    (70) Moidodr, опишите подробнее проблему. На какой почтовый сервер пытаетесь подключиться, какие настройки этого сервера, при каком действии происходит ошибка.

    Reply
  71. pyrkin_vanya

    В google появилась двухэтапная аутентификация. С ней не получается запустить. + с IMAP как я понял тоже не работает. А вообще супер конфа. Автору огромное спасибо.

    Reply
  72. pyrkin_vanya

    Сейчас заметил одну ошибку. В файловом варианте все прекрасно, а в клиент-серверном вываливается ошибка, что типа логин или пароль не верный. Не сталкивался?

    Reply
  73. alexkon

    (73) pyrkin_vanya, точно сказать не могу, припоминаю, что в клиент-серверной версии объект интернет-почта вел себя по-особому(точно уже не помню, но сталкивался с подобными проблемами). А какой версией платформы пользуетесь?

    Reply
  74. alexkon

    (72) pyrkin_vanya, С IMAP наработки есть, но довести до ума пока не получается(почтовые сервера ведут себя по-разному), пока отложил это дело.

    Reply
  75. pyrkin_vanya

    (74) alexkon, 8.3.6.2041. Попробую чуть позже другую версию поставить.

    Reply
  76. pyrkin_vanya

    На этой 8.3.7.1776 все нормально работает.

    Reply
  77. unknownDaemon

    С Gmail-ом работает из коробки и так… А вот то что мурзилки не припаяли к заголовкам тот же инстанс, что и для HTTP-Запрос-а — это большой минус…

    Надеюсь дозреют когда-нибудь до таких очевидных вещей… Например в стандартных библиотеках того же python-а именно так и реализовано

    ЗЫ Ты клиента пишешь… А я сервер 😊 с SMTP|POP обвесом на питоне

    Reply
  78. Gravern

    Я так понимаю, из-за того что нет imapa, синхронизация отправленных невозможна?

    Reply
  79. alexkon

    (79) Gravern, да, все верно.

    Reply
  80. nagaitseff

    Добрый день, ошибка в почтовых фильтрах

    {Справочник.ПочтовыеФильтры.Форма.ФормаСписка.Форма(4)}: Ошибка при получении значения атрибута контекста (ТекущийПочтовыйЯщик)

    Список.Параметры.УстановитьЗначениеПараметра(«Владелец»,ПараметрыСеанса.ТекущийПочтовыйЯщик);

    по причине:

    Попытка получения неинициализированного значения параметра сеанса

    Reply
  81. nagaitseff

    Добрый день, еще выдает такую ошибку, если я добавил файл Excel во вложения и затем нажал на него:

    {Документ.Сообщение.Форма.ФормаДокумента.Форма(479)}: Индекс находится за границами массива

    Картинка = Вложения[Элемент.ТекущаяСтрока].АдресВременногоХранилища;

    Reply
  82. nagaitseff

    Не отправляет почту совсем, получает да, а вот отправить не могу

    Reply
  83. alexkon

    (81) nagaitseff, какая у вас версия платформы? При каких действиях происходят ошибки?

    Reply
  84. nagaitseff

    (84) alexkon, исправил несколько строчек кода, заработало, но это было давно, не помню уже, если важно, могу посмотреть?

    Reply
  85. maksa2005

    УФ. При вызове почтового фильтра:

    {Справочник.ПочтовыеФильтры.Форма.ФормаСписка.Форма(4)}: Ошибка при получении значения атрибута контекста (ТекущийПочтовыйЯщик)

    Список.Параметры.УстановитьЗначениеПараметра(«Владелец»,ПараметрыСеанса.ТекущийПочтовыйЯщик);

    по причине:

    Попытка получения неинициализированного значения параметра сеанса

    Reply
  86. maksa2005

    В МодулеСеанса не установлены атрибуты:

    ПараметрыСеанса.ТекущийПочтовыйЯщик =

    ПараметрыСеанса.ТекущаяГруппа =

    Reply
  87. alexkon

    (87), да верно! В текущем решении использование почтовых фильтров возможно из формы почтового ящика. Когда вы зашли в почтовый ящик, то он становится текущим и фильтры можно открыть из панели меню(либо по кнопке «Еще»). Тогда открываются фильтры именно для текущего ящика. Можно, конечно сделать было почтовый ящик по умолчанию и при открытии инициализировать эти параметры сеанса, но не знаю, насколько это целесообразно. 🙂

    Reply
  88. CyberCerber

    Добрый день

    Подскажите, можно ли для каждого пользователя 1С задать свой ящик?

    Reply
  89. alexkon

    (89), здравствуйте! В данной конфигурации такой задачи не стояло, но такое вполне возможно реализовать небольшой доработкой.

    Reply
  90. quares

    (20) давайте воскрешу ветку — сделали? 🙂

    Reply
  91. quares

    Недостатки:

    1) Невозможно загрузить адресную книгу

    2) Интерфейс такси весьма криво смоделирован — группы расположены на столько криво, что для рабочей области остаётся мизер места

    3) Порядок обхода элементов в рабочем окне создания сообщения не настроен вообще, по логике сначала заполняется кому, тема, текст, вложения

    4) Жуткий редактор текста сообщения HTML, нельзя задать стиль по умолчанию и сразу писать текст в HTML (пример — написание справки о программе, она тут же генерирует HTML код)

    5) При работе с Exchange не генерируется структура папок

    6) Загруженные впервые сообщения имеют статус «непрочитанные», хотя они прочитаны давно

    За идею +, но реализовано на 2+

    Reply
  92. grrus

    (92)Так её ещё допиливать получается?

    Reply
  93. alexkon

    (92), в описании написано «Практическое применение каждый может определить для себя сам. Лично мне хотелось иметь нечто подобное в своем распоряжении в привычном виде и с тем функционалом, который мне был необходим.» Это означает то, что я делал это для себя и так как мне было удобно. Это не тиражируемое решение. На момент публикации конфигурации тут ничего похожего не было, поэтому выкладывалась в первую очередь идея. Конфигурация собиралась еще в 2013 году, с тех пор много чего нового появилось в 1С.

    Reply
  94. quares

    (94)

    Это было понятно изначально и мое сообщение ни в коем случае не было нацелено на то, чтобы как-то оскорбить или принизить автора 🙂

    Наоборот, мне показалось, что идея классная (переносной почтовый клиент в привычном движке) и её стоит развивать — именно поэтому выложил свою критику.

    Правильно я понял из Вашего сообщения, что развивать данную ветку не планируется?

    Reply
  95. quares

    (93)

    Не понял вопроса 🙂

    Если вопрос в том, нужно ли её еще допиливать до идеала, то я считаю, что да.

    Если вопрос в том, получается ли в принципе её допиливать, то не скажу, т.к. не занимался этим вопросом, хотя уверен, что получится 🙂

    Reply
  96. alexkon

    (95), была идея сделать на imap, но на тот момент объект «ИнтернетПочта» вел себя непредсказуемо с разными почтовыми серверами 🙂 . И я решил взять паузу. Возможно, вернусь к этой теме в скором времени. К сожалению, ограничен свободным временем. 🙂

    Reply
  97. grrus

    Приветствую

    Переделал почтовый клиент для многопользовательского режима.

    Плюс, добавил возможность использования IMAP, причем указываю из какой папки забирать почту.

    Есть существенный минус всей этой идеи — клиент не умеет создавать исходящие письма с использованием таблиц, что является недостатком связанным с техническими моментами 1С.

    Народ может кто реализовывал создание исходящих писем с использованием вставки таблиц?

    Форматированный документ вставлять таблицы не умеет.

    Reply
  98. kwazi

    (22) Лучший клиент реализован в документообороте. Все что надо там есть. IMAP в том числе. Только проблемы производительности по сравнению с классическими клиентами. Почтовый клиент как месенджер — должен быть очень (супер) отзывчивым.

    Reply
  99. kwazi

    (89) купите 1С:Документооборот

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *