Имя: Пароль:
1C
1С v8
Странная ошибка при отправке эл.почты из 1с
,
0 a-hunter
 
21.11.17
12:37
Какой то курьез. Есть база бухгалтерии ред.2 на платформе 8.3.
Пишу простую обработку отправки почты (тестировал) и при попытке отправить письмо получаю следующее:
Ошибка при вызове метода контекста (Послать): Сервис отключен с разрывом канала (SMTP error code 421 421 SMTP connection broken (reply))

Пишу такую же обработку под УТ11, на управляемой форме и аллилуя - все работает, код идентичный, платформа одна и та же, только в первом случае это толстый клиент обычное приложение, а во втором тонкий клиент управляемое приложение.

Вопрос как заставить работать под обычным приложением? Создалось ощущение что разные программные модули работают, и под одни ошибка, а под другим все ОК.
1 a-hunter
 
21.11.17
12:42
Вот для пример текст кода:
мПрофиль = Новый ИнтернетПочтовыйПрофиль;
мПрофиль.ПарольSMTP="пороль";
мПрофиль.АдресСервераSMTP="smtp.office365.com";
мПрофиль.ПортSMTP=587;
мПрофиль.ИспользоватьSSLSMTP=Ложь;
мПрофиль.ПользовательSMTP="АдресПочты@zupk.ru";
мПрофиль.ТолькоЗащищеннаяАутентификацияSMTP=Ложь;
мПрофиль.Таймаут=30;

Соединение = Новый ИнтернетПочта;
ПротоколПодключения=ПротоколИнтернетПочты.POP3;
    Соединение.Подключиться(мПрофиль, ПротоколПодключения);
    
Письмо = Новый ИнтернетПочтовоеСообщение;
Письмо.Тема = ПараметрыПисьма.Тема;
    
Получатель = Письмо.Получатели.Добавить(АдресПочты);
Получатель.ОтображаемоеИмя = АдресПочты;
    
Письмо.ИмяОтправителя              = "адрес@zupk.ru";
    Письмо.Отправитель.ОтображаемоеИмя = "адрес@zupk.ru";
    Письмо.Отправитель.Адрес           = "адрес@zupk.ru";
    
Текст=Письмо.Тексты.Добавить("текст");
Текст.ТипТекста = ТипТекстаПочтовогоСообщения.ПростойТекст;
    
Письмо.Важность = ВажностьИнтернетПочтовогоСообщения.Обычная;
Письмо.Кодировка = "UTF-8";
    
ОбрабатыватьТекстСообщения =  ОбработкаТекстаИнтернетПочтовогоСообщения.НеОбрабатывать;

Попытка
        Соединение.Послать(Письмо,ОбрабатыватьТекстСообщения,ПротоколИнтернетПочты.SMTP);
Исключение
    Сообщить(ОписаниеОшибки());
КонецПопытки;
Соединение.Отключиться();
2 Borteg
 
21.11.17
12:42
(0) Наверное срабатывает в одном случае отправка с сервера в другом с клиента.
3 Мыш
 
21.11.17
12:44
(0) Режим совместимости платформы смотри. Вот он отвечает за то, какой процедуркой длл будет выполняться метод платформы.
4 a-hunter
 
21.11.17
12:57
(3) Поднял режим совместимости до 8.3.1 - заработало и под обычным приложением. Спасибо большое!
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший