1С8 электронная почта взаимодействие с офисом 365

1. user790767 17.04.18 13:35 Сейчас в теме
Две базы на 1С8 (платформа 8.3.10.2561) Торг и Бух. Должны при некоторых событиях отправлять майлы на указанные адреса. Торг - ОФ, Бух - УФ.
Раньше все работало идеально. Перешли на офис 365, отчего сменили почтовый сервер.
И началось - Бух отправляет норм ,Торг выдает
Ошибка при вызове метода контекста (Послать): Сервис отключен с разрывом канала (SMTP error code 421 421 SMTP connection broken (command))
Поставил в отладчике точку останова на Послать, (в обоих конфигурациях) сличил реквизиты объектов ПараметрыПочты и Письмо. Все совпадает!
Написал простенькую внешнюю обработку с единственной процедурой

Процедура ОтправитьТестПисьмо()
	
    ПараметрыПочты = новый ИнтернетПочтовыйПрофиль;
    ПараметрыПочты.АдресСервераSMTP = СокрЛП("smtp.office365.com");
    ПараметрыПочты.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;
    ПараметрыПочты.ПользовательSMTP = / здесь логин системной учетки - одинаков в обоих базах /;
    ПараметрыПочты.ПарольSMTP=  / Пароль  на вход в офис 365 /;

    ПараметрыПочты.ПортSMTP=587;
    ПараметрыПочты.ПортIMAP=0;
    ПараметрыПочты.ПортPOP3=0;
    ПараметрыПочты.ИспользоватьSSLSMTP=Ложь; 
    ПараметрыПочты.Таймаут=600;
	
    Письмо=новый ИнтернетПочтовоеСообщение;
    Письмо.Тема="Тест электр почты";
    Письмо.ИмяОтправителя=/ имя /;
    Письмо.Отправитель=/ Адрес отправителя /;
    Письмо.Получатели.Добавить( / Адрес получателя /);
    Письмо.Тексты.Добавить("Проверка связи через майл офис 365");
		
    Подключение=новый ИнтернетПочта;
	Попытка
	    Подключение.Подключиться(ПараметрыПочты); 
  
  Подключение.Послать(Письмо,ОбработкаТекстаИнтернетПочтовогоСообщения.Обрабатывать,ПротоколИнтернетПочты.SMTP);
	    Сообщить ("Письмо отправлено успешно.");
    Исключение
        Сообщить ("Письмо не отправлено." + ОписаниеОшибки());
    КонецПопытки;
    Подключение.Отключиться();
	
КонецПроцедуры
Показать


(обработки пришлось написать две - поскольку ОФ и УФ - но это просто табло с 1 кнопкой, а процедура одинакова - см выше)

Подключение - проходит!! То есть адреса и все проч - опознает.
Но на Послать - вылет.

Что делаю не так? Погуглил, нашел лишь что "увеличить параметр MessageRatelimit у коннектора." (по ссылке http://blog.volobuev.su/1s-oshibka-servis-otklyuchen-s-razryvom-kanala-smtp-error-code-421/) но это явно не мой случай, т.к. обе базы - файловые, на моем компе, и тогда бы обе не посылали.

Клиент или Сервер - тоже не. Ставил в вышеприведенной процедуре директивы и так и так - без разницы.
Кто-нибудь может пояснить, в чем дело?
Я программист 1С8 с 2014 года. (а до того был на 1С7 с 2005). До фирмы где я сейчас (с сентября 2017) работал полгода в 1С франчайзи - так что опыт с 1С имею достаточный. Но вот такого не встречал!
Найденные решения
32. user790767 20.04.18 10:36 Сейчас в теме
Вопрос решил!!
Надо было поставить в Конфигурации - совместимость с 8.3.1. (было 8.2.13) и все прошло!
Правда возникла другая проблема - слетели самописные отчеты.
Так как, предполагаю, при реструктуризации таблиц - сбой на виртуальных, ОстаткиИ Обороты.
Сейчас пытаюсь решить.
А ЭТА ТЕМА ЗАКРЫТА
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. alex_sh2008 4 17.04.18 15:43 Сейчас в теме
Проверьте еще раз порты SMTP сервера похоже порт 587 закрыт.
2. Vitaly1C8 17.04.18 15:26 Сейчас в теме
Может это как то связано с &НаСервере ; &НаКлиенте ?!
4. user790767 18.04.18 10:01 Сейчас в теме
Спасибо!
Порт 587 - так отчего же работает оператор Подключиться? Тогда на нем бы вылетало.
И отчего проходит идеально - отправка из Бухгалтерии (такая же файловая база и на этом же компе)?
Про клиент/сервер - да, подумал. Бух - УФ, НаКлиенте, а Торг - ОФ, без директив (НаСервере). Знаю что Офис 365 - облачный, и могло быть так что сервер чего-то не видит, другие настройки на инет.
Но ставил директивы Клиент и Сервер и там и там - нет! Бух норм отправляет если я указываю и Клиент, и Сервер, а Торг глючит на обоих!

Главное же, уж сколько копал в гугле - нашел не слишком много, оказывается оф.365 + 1С не так часто встречается? - но там случаи когда ОБЕ базы должны глючить! Никак не объяснить, отчего одна стабильно Ок, вторая так же стабильно нет.
5. alex_sh2008 4 18.04.18 10:14 Сейчас в теме
(4)
Порт 587 - так отчего же работает оператор Подключиться? Тогда на нем бы вылетало.

Думаю это особенность клиента 1С, когда вы пишите подключить он не производит реальное подключение, а только проверяет хост, при отправке он подключается уже непосредственно к серверу.
(4)
Главное же, уж сколько копал в гугле - нашел не слишком много, оказывается оф.365 + 1С не так часто встречается?

У офиса 365 хороший soap Сервис и в основном при интеграциях используют его, так же по умолчанию все не шифрованные порты закрыты.
6. user790767 18.04.18 10:31 Сейчас в теме
(5)Тогда отчего проходит отправка из Бухгалтерии? Или такая разница в 1С между УФ и ОФ? Не знаю в настройках базы каких-то параметров, которые могли бы повлиять?
7. alex_sh2008 4 18.04.18 10:35 Сейчас в теме
(6)Да в общем то нет, может версия платформы, или у вас подготовка письма идет дольше положенного и идет сброс соединения сервером по таймауту. по пробуйте в начеле письмо подготовить, а потом уже сделать подключение и отправку.
8. user790767 18.04.18 10:39 Сейчас в теме
(7)Версия платформы одна в обоих случаях. Таймаут - увеличил с 30 до 600.
Не понял, что такое подготовка письма? Процедура вся показана - там письмо создается совсем коротенькое, все параметры присваиваются в 5 строк, и Подключение.
Что в нем еще надо готовить?
9. alex_sh2008 4 18.04.18 10:45 Сейчас в теме
(8) Нужно знать таймаут сервера, а не клиента, таймаут на клиенте задается при подключении сколько ждать сервера.
Поменяйте местами в коде, подключение перед отправкой письма поставьте. И второй вариант, телнетом подключитесь к этому серверу по 587 порту, создаст подключение или нет, с того компьютера с которого почта не уходит
10. user790767 18.04.18 10:52 Сейчас в теме
Не понял? У меня же и так стоит

Подключение=новый ИнтернетПочта;
Попытка
Подключение.Подключиться(ПараметрыПочты);
Подключение.Послать .....

что там менять местами?

И повторяю, обе базы на ОДНОМ моем компе! Так что должны подключаться одинаково! Они же к одному и тому же почт.серверу подключены?
12. alex_sh2008 4 18.04.18 10:58 Сейчас в теме
(10)ну значит они у вас в одно и тоже время подключаются, проверьте временные интервалы.
20. user790767 18.04.18 11:21 Сейчас в теме
То есть пытаются как бы "одновременно войти вдвоем в одну дверь"?
Нет, не проходит. Сегодня я с утра копию бух вообще еще не запускал. А торг - выдал ошибку!
11. user790767 18.04.18 10:56 Сейчас в теме
Вопрос - а почт.сервер, базы на одном компе как-то различает? Или для него все едино, идентификация по IT компа , а какая программа с него, это без разницы?
А если различает - то где в настройках базы, привязка к почт.серверу?
13. alex_sh2008 4 18.04.18 11:00 Сейчас в теме
(11)Серверу пофиг, лишь бы соблюдались правила протокола SMTP.
14. user790767 18.04.18 11:02 Сейчас в теме
Но чудес нет - как-то выходит он базы различает? Если ОДИН И ТОТ ЖЕ код (приведен!) при запуске из разных баз дает разные результаты.
Как почта может знать, откуда пришло?
17. alex_sh2008 4 18.04.18 11:10 Сейчас в теме
(14)Только по адресу отправителя, и через какой ящик отправлялась, подключайтесь с разными учетными записями
15. user790767 18.04.18 11:04 Сейчас в теме
Я смотрю, в программе

ПараметрыПочты.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;

так может это умолчание в Торг и Бух разное? И от каких-то настроек зависит?
16. alex_sh2008 4 18.04.18 11:09 Сейчас в теме
(15)Это важный параметр и зависит от того какие протоколы авторизации в сервере включены, оставьте так же как в рабочей конфигурации. Если у сервера есть несколько входов, то лучше каждое приложение конектилось по своему адресу сервера.
18. user790767 18.04.18 11:17 Сейчас в теме
Так вопрос - что мне админу сказать? Как-то можно вытянуть, ЧЕМ различаются (на взгляд сервера) разные базы на моем компе?
И как их толкует почтовый сервер smtp.office365.com.
19. alex_sh2008 4 18.04.18 11:21 Сейчас в теме
(18)Да ни как сервер их не толкует, он просто определяет что к нему подключился такой то клиент, то есть платформа. Админу сказать что бы для каждой базы создал свой аккаунт, а вы его пропишете. в своей обработке и будет знать откуда идут письма.
21. alex_sh2008 4 18.04.18 11:22 Сейчас в теме
(18)Еще один вариант это отправить ECHO от имени конфигурации, но по моему в 1С такое нельзя реализовать.
22. user790767 18.04.18 11:28 Сейчас в теме
Но тогда ошибка должна была бы случайным образом вылезать то в одной то в другой базе. Отчего же привязка только к одной?
Хм, вот сейчас я вошел в нашу Бух Рабочую (не копию на моем компе) - а на сервере фирму. И (той же внешней обработкой) запустил тестовое письмо. Дошло норм!
А из Торг рабочей - глюк!
то есть четкая привязка именно к разным типам базы/конфы.
Бух - проходит. Торг - нет.
У нас Торг конфа доработанная, так я из эталонной УТ10 запустил - то же самое!!
24. alex_sh2008 4 18.04.18 11:30 Сейчас в теме
(22) Использовали одну и ту же обработку?
26. user790767 18.04.18 11:41 Сейчас в теме
Обработки разные (УФ, и ОФ). Но это просто табло с кнопкой - и по кнопке процедура, код приведен. Одна и та же!
28. alex_sh2008 4 18.04.18 11:47 Сейчас в теме
(26)Тогда по просите администратора что бы посмотрел лог сервера в момент ошибки, но думаю это идет конфликт подключений клиентов.
23. user790767 18.04.18 11:29 Сейчас в теме
Платформа одна. Что-то привязаное или к особенностям Торг, или к базе (они у нас "потомки" друг друга, так что какие-то настройки одинаковы.
25. alex_sh2008 4 18.04.18 11:33 Сейчас в теме
(23)Отключите все задания связанные с почтой и одной обработкой из разных конфигураций отправьте письмо, только через интервал времени, может 1С после отправки письма еще держит соединение открытым.
27. user790767 18.04.18 11:43 Сейчас в теме
Так я сегодня пробовал - как мне посоветовали. После перезагрузки компа, и сразу из Торг (в Бух не лез), чтоб не было "путь занят". Ошибка!
30. alex_sh2008 4 18.04.18 11:49 Сейчас в теме
(27)Смотреть на самом сервере надо, почему он клиента отбрасывает, может он его как спамера идентифицирует.
29. user790767 18.04.18 11:47 Сейчас в теме
А почтовых заданий (активных) в копии базы нет. Вернее, были но сейчас не работают так как настроены еще на старый почт.сервер (до офиса365). Я ведь для того сейчас и бьюсь, на копии, чтобы все это заработало - и в рабочую базу влить!
так что ничего там не может отправлять почту на порт 587 кроме этой моей обработки
32. user790767 20.04.18 10:36 Сейчас в теме
Вопрос решил!!
Надо было поставить в Конфигурации - совместимость с 8.3.1. (было 8.2.13) и все прошло!
Правда возникла другая проблема - слетели самописные отчеты.
Так как, предполагаю, при реструктуризации таблиц - сбой на виртуальных, ОстаткиИ Обороты.
Сейчас пытаюсь решить.
А ЭТА ТЕМА ЗАКРЫТА
33. Andryza 38 16.08.23 10:25 Сейчас в теме
(32) у меня такая же беда сейчас.... совместимость тоже поставил на 8.3.1, но ошибка у меня следующая:
SMTP error code 451 451 5.7.3 STARTTLS is required to send mail
грабли остались лежать... требуется СТАРТТЛС...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот