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

```1c
    Процедура ОтправитьТестПисьмо()

    ПараметрыПочты = новый ИнтернетПочтовыйПрофиль;
    ПараметрыПочты.АдресСервера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С имею достаточный. Но вот такого не встречал!
---
Вопрос решил!!
Надо было поставить в Конфигурации - совместимость с 8.3.1. (было 8.2.13) и все прошло!
Правда возникла другая проблема - слетели самописные отчеты.
Так как, предполагаю, при реструктуризации таблиц - сбой на виртуальных, ОстаткиИ Обороты.
Сейчас пытаюсь решить.
А ЭТА ТЕМА ЗАКРЫТА
---
Проверьте еще раз порты SMTP сервера похоже порт 587 закрыт.
---
Может это как то связано с &НаСервере ; &НаКлиенте ?!
---
Спасибо!
Порт 587 - так отчего же работает оператор Подключиться? Тогда на нем бы вылетало.
И отчего проходит идеально - отправка из Бухгалтерии (такая же файловая база и на этом же компе)?
Про клиент/сервер - да, подумал. Бух - УФ, НаКлиенте, а Торг - ОФ, без директив (НаСервере). Знаю что Офис 365 - облачный, и могло быть так что сервер чего-то не видит, другие настройки на инет.
Но ставил директивы Клиент и Сервер и там и там - нет! Бух норм отправляет если я указываю и Клиент, и Сервер, а Торг глючит на обоих!

Главное же, уж сколько копал в гугле - нашел не слишком много, оказывается оф.365 + 1С не так часто встречается? - но там случаи когда ОБЕ базы должны глючить! Никак не объяснить, отчего одна стабильно Ок, вторая так же стабильно нет.
---
Порт 587 - так отчего же работает оператор Подключиться? Тогда на нем бы вылетало.
Думаю это особенность клиента 1С, когда вы пишите подключить он не производит реальное подключение, а только проверяет хост, при отправке он подключается уже непосредственно к серверу.
(4) Главное же, уж сколько копал в гугле - нашел не слишком много, оказывается оф.365 + 1С не так часто встречается?
У офиса 365 хороший soap Сервис и в основном при интеграциях используют его, так же по умолчанию все не шифрованные порты закрыты.
---
Тогда отчего проходит отправка из Бухгалтерии? Или такая разница в 1С между УФ и ОФ? Не знаю в настройках базы каких-то параметров, которые могли бы повлиять?
---
Да в общем то нет, может версия платформы, или у вас подготовка письма идет дольше положенного и идет сброс соединения сервером по таймауту. по пробуйте в начеле письмо подготовить, а потом уже сделать подключение и отправку.
---
Версия платформы одна в обоих случаях. Таймаут - увеличил с 30 до 600.
Не понял, что такое подготовка письма? Процедура вся показана - там письмо создается совсем коротенькое, все параметры присваиваются в 5 строк, и Подключение.
Что в нем еще надо готовить?
---
Нужно знать таймаут сервера, а не клиента, таймаут на клиенте задается при подключении сколько ждать сервера.
Поменяйте местами в коде, подключение перед отправкой письма поставьте. И второй вариант, телнетом подключитесь к этому серверу по 587 порту, создаст подключение или нет, с того компьютера с которого почта не уходит
---
Не понял? У меня же и так стоит

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

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

И повторяю, обе базы на ОДНОМ моем компе! Так что должны подключаться одинаково! Они же к одному и тому же почт.серверу подключены?
---
ну значит они у вас в одно и тоже время подключаются, проверьте временные интервалы.
---
То есть пытаются как бы "одновременно войти вдвоем в одну дверь"?
Нет, не проходит. Сегодня я с утра копию бух вообще еще не запускал. А торг - выдал ошибку!
---
Вопрос - а почт.сервер, базы на одном компе как-то различает? Или для него все едино, идентификация по IT компа , а какая программа с него, это без разницы?
А если различает - то где в настройках базы, привязка к почт.серверу?
---
Серверу пофиг, лишь бы соблюдались правила протокола SMTP.
---
Но чудес нет - как-то выходит он базы различает? Если ОДИН И ТОТ ЖЕ код (приведен!) при запуске из разных баз дает разные результаты.
Как почта может знать, откуда пришло?
---
Только по адресу отправителя, и через какой ящик отправлялась, подключайтесь с разными учетными записями
---
Я смотрю, в программе

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

так может это умолчание в Торг и Бух разное? И от каких-то настроек зависит?
---
Это важный параметр и зависит от того какие протоколы авторизации в сервере включены, оставьте так же как в рабочей конфигурации. Если у сервера есть несколько входов, то лучше каждое приложение конектилось по своему адресу сервера.
---
Так вопрос - что мне админу сказать? Как-то можно вытянуть, ЧЕМ различаются (на взгляд сервера) разные базы на моем компе?
И как их толкует почтовый сервер smtp.office365.com.
---
Да ни как сервер их не толкует, он просто определяет что к нему подключился такой то клиент, то есть платформа. Админу сказать что бы для каждой базы создал свой аккаунт, а вы его пропишете. в своей обработке и будет знать откуда идут письма.
---
Еще один вариант это отправить ECHO от имени конфигурации, но по моему в 1С такое нельзя реализовать.
---
Но тогда ошибка должна была бы случайным образом вылезать то в одной то в другой базе. Отчего же привязка только к одной?
Хм, вот сейчас я вошел в нашу Бух Рабочую (не копию на моем компе) - а на сервере фирму. И (той же внешней обработкой) запустил тестовое письмо. Дошло норм!
А из Торг рабочей - глюк!
то есть четкая привязка именно к разным типам базы/конфы.
Бух - проходит. Торг - нет.
У нас Торг конфа доработанная, так я из эталонной УТ10 запустил - то же самое!!
---
Использовали одну и ту же обработку?
---
Обработки разные (УФ, и ОФ). Но это просто табло с кнопкой - и по кнопке процедура, код приведен. Одна и та же!
---
Тогда по просите администратора что бы посмотрел лог сервера в момент ошибки, но думаю это идет конфликт подключений клиентов.
---
Платформа одна. Что-то привязаное или к особенностям Торг, или к базе (они у нас "потомки" друг друга, так что какие-то настройки одинаковы.
---
Отключите все задания связанные с почтой и одной обработкой из разных конфигураций отправьте письмо, только через интервал времени, может 1С после отправки письма еще держит соединение открытым.
---
Так я сегодня пробовал - как мне посоветовали. После перезагрузки компа, и сразу из Торг (в Бух не лез), чтоб не было "путь занят". Ошибка!
---
Смотреть на самом сервере надо, почему он клиента отбрасывает, может он его как спамера идентифицирует.
---
А почтовых заданий (активных) в копии базы нет. Вернее, были но сейчас не работают так как настроены еще на старый почт.сервер (до офиса365). Я ведь для того сейчас и бьюсь, на копии, чтобы все это заработало - и в рабочую базу влить!
так что ничего там не может отправлять почту на порт 587 кроме этой моей обработки
---
https://support.office.com/en-us/article/how-to-set-up-a-multifunction-device-or-application-to-send-email-using-office-365-69f58e99-c550-4274-ad18-c805d654b4c4
---
Вопрос решил!!
Надо было поставить в Конфигурации - совместимость с 8.3.1. (было 8.2.13) и все прошло!
Правда возникла другая проблема - слетели самописные отчеты.
Так как, предполагаю, при реструктуризации таблиц - сбой на виртуальных, ОстаткиИ Обороты.
Сейчас пытаюсь решить.
А ЭТА ТЕМА ЗАКРЫТА
---
у меня такая же беда сейчас.... совместимость тоже поставил на 8.3.1, но ошибка у меня следующая:
SMTP error code 451 451 5.7.3 STARTTLS is required to send mail
грабли остались лежать... требуется СТАРТТЛС...