1С8 электронная почта взаимодействие с офисом 365
Две базы на 1С8 (платформа 8.3.10.2561) Торг и Бух. Должны при некоторых событиях отправлять майлы на указанные адреса. Торг - ОФ, Бух - УФ.
Раньше все работало идеально. Перешли на офис 365, отчего сменили почтовый сервер.
И началось - Бух отправляет норм ,Торг выдает
Ошибка при вызове метода контекста (Послать): Сервис отключен с разрывом канала (SMTP error code 421 421 SMTP connection broken (command))
Поставил в отладчике точку останова на Послать, (в обоих конфигурациях) сличил реквизиты объектов ПараметрыПочты и Письмо. Все совпадает!
Написал простенькую внешнюю обработку с единственной процедурой
(обработки пришлось написать две - поскольку ОФ и УФ - но это просто табло с 1 кнопкой, а процедура одинакова - см выше)
Подключение - проходит!! То есть адреса и все проч - опознает.
Но на Послать - вылет.
Что делаю не так? Погуглил, нашел лишь что "увеличить параметр MessageRatelimit у коннектора." (по ссылке но это явно не мой случай, т.к. обе базы - файловые, на моем компе, и тогда бы обе не посылали.
Клиент или Сервер - тоже не. Ставил в вышеприведенной процедуре директивы и так и так - без разницы.
Кто-нибудь может пояснить, в чем дело?
Я программист 1С8 с 2014 года. (а до того был на 1С7 с 2005). До фирмы где я сейчас (с сентября 2017) работал полгода в 1С франчайзи - так что опыт с 1С имею достаточный. Но вот такого не встречал!
Раньше все работало идеально. Перешли на офис 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 у коннектора." (по ссылке но это явно не мой случай, т.к. обе базы - файловые, на моем компе, и тогда бы обе не посылали.
Клиент или Сервер - тоже не. Ставил в вышеприведенной процедуре директивы и так и так - без разницы.
Кто-нибудь может пояснить, в чем дело?
Я программист 1С8 с 2014 года. (а до того был на 1С7 с 2005). До фирмы где я сейчас (с сентября 2017) работал полгода в 1С франчайзи - так что опыт с 1С имею достаточный. Но вот такого не встречал!
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Спасибо!
Порт 587 - так отчего же работает оператор Подключиться? Тогда на нем бы вылетало.
И отчего проходит идеально - отправка из Бухгалтерии (такая же файловая база и на этом же компе)?
Про клиент/сервер - да, подумал. Бух - УФ, НаКлиенте, а Торг - ОФ, без директив (НаСервере). Знаю что Офис 365 - облачный, и могло быть так что сервер чего-то не видит, другие настройки на инет.
Но ставил директивы Клиент и Сервер и там и там - нет! Бух норм отправляет если я указываю и Клиент, и Сервер, а Торг глючит на обоих!
Главное же, уж сколько копал в гугле - нашел не слишком много, оказывается оф.365 + 1С не так часто встречается? - но там случаи когда ОБЕ базы должны глючить! Никак не объяснить, отчего одна стабильно Ок, вторая так же стабильно нет.
Порт 587 - так отчего же работает оператор Подключиться? Тогда на нем бы вылетало.
И отчего проходит идеально - отправка из Бухгалтерии (такая же файловая база и на этом же компе)?
Про клиент/сервер - да, подумал. Бух - УФ, НаКлиенте, а Торг - ОФ, без директив (НаСервере). Знаю что Офис 365 - облачный, и могло быть так что сервер чего-то не видит, другие настройки на инет.
Но ставил директивы Клиент и Сервер и там и там - нет! Бух норм отправляет если я указываю и Клиент, и Сервер, а Торг глючит на обоих!
Главное же, уж сколько копал в гугле - нашел не слишком много, оказывается оф.365 + 1С не так часто встречается? - но там случаи когда ОБЕ базы должны глючить! Никак не объяснить, отчего одна стабильно Ок, вторая так же стабильно нет.
(4)
Думаю это особенность клиента 1С, когда вы пишите подключить он не производит реальное подключение, а только проверяет хост, при отправке он подключается уже непосредственно к серверу.
(4)
У офиса 365 хороший soap Сервис и в основном при интеграциях используют его, так же по умолчанию все не шифрованные порты закрыты.
Порт 587 - так отчего же работает оператор Подключиться? Тогда на нем бы вылетало.
Думаю это особенность клиента 1С, когда вы пишите подключить он не производит реальное подключение, а только проверяет хост, при отправке он подключается уже непосредственно к серверу.
(4)
Главное же, уж сколько копал в гугле - нашел не слишком много, оказывается оф.365 + 1С не так часто встречается?
У офиса 365 хороший soap Сервис и в основном при интеграциях используют его, так же по умолчанию все не шифрованные порты закрыты.
(6)Да в общем то нет, может версия платформы, или у вас подготовка письма идет дольше положенного и идет сброс соединения сервером по таймауту. по пробуйте в начеле письмо подготовить, а потом уже сделать подключение и отправку.
(7)Версия платформы одна в обоих случаях. Таймаут - увеличил с 30 до 600.
Не понял, что такое подготовка письма? Процедура вся показана - там письмо создается совсем коротенькое, все параметры присваиваются в 5 строк, и Подключение.
Что в нем еще надо готовить?
Не понял, что такое подготовка письма? Процедура вся показана - там письмо создается совсем коротенькое, все параметры присваиваются в 5 строк, и Подключение.
Что в нем еще надо готовить?
(8) Нужно знать таймаут сервера, а не клиента, таймаут на клиенте задается при подключении сколько ждать сервера.
Поменяйте местами в коде, подключение перед отправкой письма поставьте. И второй вариант, телнетом подключитесь к этому серверу по 587 порту, создаст подключение или нет, с того компьютера с которого почта не уходит
Поменяйте местами в коде, подключение перед отправкой письма поставьте. И второй вариант, телнетом подключитесь к этому серверу по 587 порту, создаст подключение или нет, с того компьютера с которого почта не уходит
Не понял? У меня же и так стоит
Подключение=новый ИнтернетПочта;
Попытка
Подключение.Подключиться(ПараметрыПочты);
Подключение.Послать .....
что там менять местами?
И повторяю, обе базы на ОДНОМ моем компе! Так что должны подключаться одинаково! Они же к одному и тому же почт.серверу подключены?
Подключение=новый ИнтернетПочта;
Попытка
Подключение.Подключиться(ПараметрыПочты);
Подключение.Послать .....
что там менять местами?
И повторяю, обе базы на ОДНОМ моем компе! Так что должны подключаться одинаково! Они же к одному и тому же почт.серверу подключены?
Вопрос - а почт.сервер, базы на одном компе как-то различает? Или для него все едино, идентификация по IT компа , а какая программа с него, это без разницы?
А если различает - то где в настройках базы, привязка к почт.серверу?
А если различает - то где в настройках базы, привязка к почт.серверу?
Но чудес нет - как-то выходит он базы различает? Если ОДИН И ТОТ ЖЕ код (приведен!) при запуске из разных баз дает разные результаты.
Как почта может знать, откуда пришло?
Как почта может знать, откуда пришло?
Я смотрю, в программе
ПараметрыПочты.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;
так может это умолчание в Торг и Бух разное? И от каких-то настроек зависит?
ПараметрыПочты.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;
так может это умолчание в Торг и Бух разное? И от каких-то настроек зависит?
(15)Это важный параметр и зависит от того какие протоколы авторизации в сервере включены, оставьте так же как в рабочей конфигурации. Если у сервера есть несколько входов, то лучше каждое приложение конектилось по своему адресу сервера.
Так вопрос - что мне админу сказать? Как-то можно вытянуть, ЧЕМ различаются (на взгляд сервера) разные базы на моем компе?
И как их толкует почтовый сервер smtp.office365.com.
И как их толкует почтовый сервер smtp.office365.com.
(18)Да ни как сервер их не толкует, он просто определяет что к нему подключился такой то клиент, то есть платформа. Админу сказать что бы для каждой базы создал свой аккаунт, а вы его пропишете. в своей обработке и будет знать откуда идут письма.
Но тогда ошибка должна была бы случайным образом вылезать то в одной то в другой базе. Отчего же привязка только к одной?
Хм, вот сейчас я вошел в нашу Бух Рабочую (не копию на моем компе) - а на сервере фирму. И (той же внешней обработкой) запустил тестовое письмо. Дошло норм!
А из Торг рабочей - глюк!
то есть четкая привязка именно к разным типам базы/конфы.
Бух - проходит. Торг - нет.
У нас Торг конфа доработанная, так я из эталонной УТ10 запустил - то же самое!!
Хм, вот сейчас я вошел в нашу Бух Рабочую (не копию на моем компе) - а на сервере фирму. И (той же внешней обработкой) запустил тестовое письмо. Дошло норм!
А из Торг рабочей - глюк!
то есть четкая привязка именно к разным типам базы/конфы.
Бух - проходит. Торг - нет.
У нас Торг конфа доработанная, так я из эталонной УТ10 запустил - то же самое!!
Платформа одна. Что-то привязаное или к особенностям Торг, или к базе (они у нас "потомки" друг друга, так что какие-то настройки одинаковы.
Так я сегодня пробовал - как мне посоветовали. После перезагрузки компа, и сразу из Торг (в Бух не лез), чтоб не было "путь занят". Ошибка!
А почтовых заданий (активных) в копии базы нет. Вернее, были но сейчас не работают так как настроены еще на старый почт.сервер (до офиса365). Я ведь для того сейчас и бьюсь, на копии, чтобы все это заработало - и в рабочую базу влить!
так что ничего там не может отправлять почту на порт 587 кроме этой моей обработки
так что ничего там не может отправлять почту на порт 587 кроме этой моей обработки
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот