|
Отправка почты из УПП клиент сервер
| ☑ |
0
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, а можно ли сделать как-то по другому?
заставить код выполняться на сервере, т.к. скорее причина в том, что он выполняется на клиенте.
|
|
1
dka80
29.06.20
✎
16:06
|
Регламентное задание выполняется на сервере, а интерактивный запуск происходит на клиенте. А с клиента, видимо, нет каких-то доступов к почтовому серверу
|
|
2
Джинн
29.06.20
✎
16:06
|
(0) Права пользователя
|
|
3
dka80
29.06.20
✎
16:07
|
заставить код выполняться на сервере - создать общий модуль с галочкой "Сервер"
|
|
4
Джинн
29.06.20
✎
16:12
|
(3) Почта отправляется с клиента. Нужно всего-лишь попросить админов настроить права.
|
|
5
dka80
29.06.20
✎
16:16
|
(4) см (1), а (3) это ответ на вопрос "заставить код выполняться на сервере"
|
|
6
kofeinik
29.06.20
✎
16:23
|
У меня было ровно наоборот, как выяснилось, просто требовалось на сервере включить pop3 (110 порт), хотя использовалась только отправка.
|
|
7
masi
29.06.20
✎
18:11
|
Всем большое спасибо)
Выполнение кода происходит в общем модуле Электронная почта, у него просталены галки Сервер, Внешнее соединение, Клиент(обычное приложение), Вызов сервера
Убрал флаг Клиент(обычное приложение) и отправка прошла успешно.
Задача в том, чтобы именно отправлять с сервера 1с, не менять настройки на пользовательском сервере.
|
|
8
masi
29.06.20
✎
18:30
|
Правда еще один ньюанс остался, при таком решении перестали работать вложения в общем модуле
//
Письмо.Вложения.Добавить(ЭлементВложение.Значение, ЭлементВложение.Ключ);
//
|
|
9
masi
30.06.20
✎
17:22
|
Оставил у типового модуля Электронная почта флаг Клиент(обычное приложение), саму отправку сообщения вынес в добавленный серверный модуль. Передачу между клиентом и сервером реализовал через Временное хранилище. Все заработало, всем еще раз спасибо)
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший