Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Отправка почты из УПП клиент сервер

Отправка почты из УПП клиент сервер
Я
   masi
 
29.06.20 - 16:03
Всем добрый день!

УПП 1.3.140.2 на 8.3.16

Почта отправляется через вcтроенный механизм 1с

Если отправка почты происходит регламентым заданием, то все отправляется удачно. Если отправляем через интерактивные действия пользователя, то этот же код сыпется с ошибкой
Ошибка отправки {ОбщийМодуль.ЭлектроннаяПочта.Модуль(374)}: Ошибка при вызове метода контекста (Подключиться): Сервис отключен с разрывом канала (SMTP error code 421 SMTP connection broken (reply) )

выдержка из кода следующая:

Соединение = Новый ИнтернетПочта;
Соединение.Подключиться(Профиль);
....
Соединение.Послать(Письмо, ОбрабатыватьТекстСообщения);
ошибка возникает в этом месте Соединение.Послать.

Единественное, что нашел на форуме рекомендация включить совместимость 8.3, а можно ли сделать как-то по другому?

заставить код выполняться на сервере, т.к. скорее причина в том, что он выполняется на клиенте.
   dka80
 
1 - 29.06.20 - 16:06
Регламентное задание выполняется на сервере, а интерактивный запуск происходит на клиенте. А с клиента, видимо, нет каких-то доступов к почтовому серверу
   Джинн
 
2 - 29.06.20 - 16:06
(0) Права пользователя
   dka80
 
3 - 29.06.20 - 16:07
заставить код выполняться на сервере - создать общий модуль с галочкой "Сервер"
   Джинн
 
4 - 29.06.20 - 16:12
(3) Почта отправляется с клиента. Нужно всего-лишь попросить админов настроить права.
   dka80
 
5 - 29.06.20 - 16:16
(4) см (1), а (3) это ответ на вопрос "заставить код выполняться на сервере"
   kofeinik
 
6 - 29.06.20 - 16:23
У меня было ровно наоборот, как выяснилось, просто требовалось на сервере включить pop3 (110 порт), хотя использовалась только отправка.
   masi
 
7 - 29.06.20 - 18:11
Всем большое спасибо)


Выполнение кода происходит в общем модуле Электронная почта, у него просталены галки Сервер, Внешнее соединение, Клиент(обычное приложение), Вызов сервера


Убрал флаг Клиент(обычное приложение) и отправка прошла успешно.

Задача в том, чтобы именно отправлять с сервера 1с, не менять настройки на пользовательском сервере.
   masi
 
8 - 29.06.20 - 18:30
Правда еще один ньюанс остался, при таком решении перестали работать вложения в общем модуле

//

Письмо.Вложения.Добавить(ЭлементВложение.Значение, ЭлементВложение.Ключ);
//
   masi
 
9 - 30.06.20 - 17:22
Оставил у типового модуля Электронная почта флаг Клиент(обычное приложение), саму отправку сообщения вынес в добавленный серверный модуль. Передачу между клиентом и сервером реализовал через Временное хранилище. Все заработало, всем еще раз спасибо)

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.