Сервис отключен с разрывом канала smtp error code 421 1с как исправить
Записки ИТ специалиста.
1с Ошибка «сервис отключен с разрывом канала (smtp error code 421)»
Настраивали программисты по 1С рассылку из 1С через корпоративный почтовый сервер MS Exchange 2016. При запуске обработки получили ошибку «сервис отключен с разрывом канала (smtp error code 421)»
Обратились к нам, системным администраторам. Мы со своей стороны настроили коннектор
, параметры безопасности на картинке ниже
Задали нужные IP адреса, порт 25.
Попросили программистов еще раз запустить рассылку. Ошибка повторяется. 3-4 письма уходит и все, дальше ошибка. Исследуем проблему дальше. Поиск в интернете показал, что надо увеличить параметр MessageRatelimit у коннектора. Смотрим этот параметр
Get-ReceiveConnector mbx01\1C | fl name, MessageRatelimit
Где mbx01 имя сервера, 1С — имя коннектора
Получил ответ
Name : 1C
MessageRateLimit : Unlimited
Лимит неограничен.
Попросил со стороны 1С более подробные логи, сказали, что берите, что есть. Запустили Wireshark, тут выловили ошибку
По ней было проще уже найти решение. Оно оказалось в следующем — необходимо увеличить дефолтный коннектор с именем «Client Proxy MBX01». Установил лимит 1200 соединений, было 5.
Ниже код 1С для рассылки сообщений. Прислали программисты 1С, верю им на слово
Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.Login;
Профиль.АдресСервераSMTP = фАдресSMTP; // определяется на форме
Профиль.ИспользоватьSSLSMTP = ложь;
Профиль.ПортSMTP = 25;
Профиль.ПарольSMTP = фПарольSMTP; // определяется на форме
Профиль.ПользовательSMTP = фЛогинSMTP; // определяется на форме
Профиль.ВремяОжидания = 350;
почта = новый интернетпочта;
почта.Подключиться(Профиль);
Сообщение = Новый интернетПочтовоеСообщение;
Сообщение.Отправитель = АдресОтправителя;
сообщение.Тема =»Тестовое сообщение через MS Exchange 2016″;
ИнтернетТекстПочтовогоСообщения = Сообщение.Тексты.Добавить();
ИнтернетТекстПочтовогоСообщения.Текст = ТекстПисьма;
сообщение.Получатели.Добавить(сокрлп(ТекСтрока.Почта));
почта.Послать(Сообщение);
Почему возникает ошибка 421? Решение в деталях
Ошибка 421 возникает по нескольким причинам. Каждая из ошибок не является фатальной и её легко исправить. В этой статье мы отметим 2 самые распространенные причины, по которым возникает error 421 и решение проблемы.
Возможные причины появления ошибки 421
Чаще всего причины этой ошибки заключаются в следующем:
Причина номер 1: отсутствует соединение с SMPT-сервером
Ошибка 421 (SMTP-сервер) возникает, когда нет подключения к SMPT-серверу. В результате сбоя вы не можете обновлять списки писем или отправить новое письмо. Сбой часто возникает при работе с почтовыми клиентами, например, Outlook.
Причины ошибки и решения:
Причина номер 2: множественные подключения
Ошибка 421 (Too Many Connections) – это ошибка FTP соединения, которая не беспокоит обычных пользователей и чаще всего является информационным сигналом для вебмастера. Ошибка появляется при работе с программой FileZilla и для ее исправления нужно внести некоторые изменения в настройки. Также, иногда может потребоваться доступ к панели управления хостингом.
Возникает в случае, если у вас открыто активное соединение с сервером и вы параллельно пытаетесь создать еще одно подключение по тому же адресу. По сути ничего страшного в этом нет. Если с вашего IP уже есть соединение вы просто получите ошибку 421. На сам сайт это никак не влияет.
Как исправить ошибку 421?
ВАЖНО: Если это не помогло – срочно смените пароль для FTP и имя пользователя. Вполне возможно, что доступ к FTP аккаунту получен посторонними людьми.
Альтернативный способ исправить ошибку 421
Заходим в административную панель хостинг-аккаунта. Переходим в раздел управления FTP и отключаем активные подключения. Затем можем снова устанавливать соединение через FTP-клиент.
Если нет функции снять все активные соединения, просто смените логин и пароль для FTP аккаунта. Активные соединения будут сброшены автоматически.
Другой способ, который срабатывает, если у вас открыты программы, но нет возможности найти то самое соединение. Просто перезагрузите свой компьютер. При повторном запуске будет сделано соединение заново. Однако, этот способ не сработает, если неправильно настроен FTP-клиент.
Причина номер 3: Грейлистинг
Как правило, MS Outlook используется корпоративными клиентами в офисах для упорядочивания переписки и ускорения отправки коммерческой корреспонденции. Поэтому исходящий трафик может быть довольно высок. Именно по этой причине многие программы могут ввести ip-адрес, с которого ведется рассылка в серые списки (грейлистинг).
SMTP greeting failure: 421 SMTP connection broken (reply)
Описание ошибки:С сентября 2014 Яндекс.Почта, Mail.ru перешли на протокол SSL, что сделало их ещё более безопасными. Чтобы и дальше работать с письмами через 1С, Вам нужно изменить их настройки и внести доработки в код конфигураций.
Найденные решения:
Ошибка наблюдается, в частности, в случае, когда меняются настройки почты. Например мне довелось столкнуться в случае, когда ввели для почты SSL-шифрование. Если это Ваш случай, то из быстрых и простых остается только обновление до версии платформы 8.3, где поддержка этого шифрования для «ИнтернетПочтовыйПрофиль» реализована. И доработка кода типовых конфигураций для учета настроек SSL-шифрования и включения у почтового профиля.
Сопровождающие проблему ошибки:
Яндекс.Почта
адрес_почты@yandex.ru. <ОбщийМодуль.УправлениеЭлектроннойПочтой.Модуль(1065)>: Ошибка при вызове метода контекста (Подключиться): Почтовый ящик пользователя «адрес_почты@yandex.ru» на сервере «pop.yandex.ru» не найден. Ответ сервера: «[AUTH] Working without SSL/TLS encryption is not allowed. Please visit https://help.yandex.ru/mail/mail-clients/ssl.xml. sc=NXhLmqHbM4YK»
Если установлены не правильные порты, то получим ошибку:Ошибка при вызове метода контекста (Подключиться): TLS/SSL failure for smtp.mail.ru: Invalid token, probably not an SSL serverУстановите порты 465 для smtp, 995 для pop3.
При соединении с Яндексом: в логинах оставить только содержимое логина до @yandex.ru, т.е. из примера «адрес_почты» (без кавычек). Устанавливаем для pop3 и smtp SSL-шифрование. Если почта корпоративная на Яндексе, и в наименовании не используется @yandex.ru, то оставляем логин, равный наименованию почты, как есть.
Mail.ru
Не включено SSL-шифрование для учетной записи электронной почты. Ошибка при вызове метода контекста (Подключиться): Can not authenticate to POP3 server: POP3 is available only with SSL or TLS connection enabled
Если установлены не правильные порты, то получим ошибку:Ошибка при вызове метода контекста (Подключиться): TLS/SSL failure for smtp.mail.ru: Invalid token, probably not an SSL serverУстанавливаем порты 465 для smtp, 995 для pop3.
Если возникает ошибка:Ошибка при вызове метода контекста (Подключиться): SMTP greeting failure: 421 SMTP connection broken (reply)Порты настроены правильно, не установлено SSL-шифрование для smtp.
В паролях для почты не использовать спецсимволы, пример из опыта: в пароле к почте был символ «+», пока из пароля не убрали, соединение не происходило! Система выдавала ошибку: Ошибка при вызове метода контекста (Подключиться): Can not authenticate to SMTP server: 535 5.7.8 Error: authentication failed: Invalid user or password!
Разработчики 1С вносят фунционал в рабочие конфигурации, например: УТ 10.3.30.1 от 26.09.2014, описание обновления: В справочник «Учетные записи электронной почты» добавлены реквизиты «Использовать защищенную версию протокола SMTP» и «Использовать защищенную версию протокола POP3». При установке этих реквизитов предоставляется возможность подключаться к почтовым серверам через безопасное соединение (SSL). Реквизиты доступны при использовании версии платформы не ниже 8.3.1.
1С 8.3 : SMTP greeting failure: 421 SMTP connection broken (reply)
Описание ошибки:С сентября 2014 Яндекс.Почта, Mail.ru перешли на протокол SSL, что сделало их ещё более безопасными. Чтобы и дальше работать с письмами через 1С, Вам нужно изменить их настройки и внести доработки в код конфигураций.
Найденные решения:
Ошибка наблюдается, в частности, в случае, когда меняются настройки почты. Например мне довелось столкнуться в случае, когда ввели для почты SSL-шифрование. Если это Ваш случай, то из быстрых и простых остается только обновление до версии платформы 8.3, где поддержка этого шифрования для «ИнтернетПочтовыйПрофиль» реализована. И доработка кода типовых конфигураций для учета настроек SSL-шифрования и включения у почтового профиля.
Сопровождающие проблему ошибки:
Яндекс.Почта
адрес_почты@yandex.ru. <ОбщийМодуль.УправлениеЭлектроннойПочтой.Модуль(1065)>: Ошибка при вызове метода контекста (Подключиться): Почтовый ящик пользователя «адрес_почты@yandex.ru» на сервере «pop.yandex.ru» не найден. Ответ сервера: «[AUTH] Working without SSL/TLS encryption is not allowed. Please visit https://help.yandex.ru/mail/mail-clients/ssl.xml. sc=NXhLmqHbM4YK»
Если установлены не правильные порты, то получим ошибку:Ошибка при вызове метода контекста (Подключиться): TLS/SSL failure for smtp.mail.ru: Invalid token, probably not an SSL serverУстановите порты 465 для smtp, 995 для pop3.
При соединении с Яндексом: в логинах оставить только содержимое логина до @yandex.ru, т.е. из примера «адрес_почты» (без кавычек). Устанавливаем для pop3 и smtp SSL-шифрование. Если почта корпоративная на Яндексе, и в наименовании не используется @yandex.ru, то оставляем логин, равный наименованию почты, как есть.
Mail.ru
Не включено SSL-шифрование для учетной записи электронной почты. Ошибка при вызове метода контекста (Подключиться): Can not authenticate to POP3 server: POP3 is available only with SSL or TLS connection enabled
Если установлены не правильные порты, то получим ошибку:Ошибка при вызове метода контекста (Подключиться): TLS/SSL failure for smtp.mail.ru: Invalid token, probably not an SSL serverУстанавливаем порты 465 для smtp, 995 для pop3.
Если возникает ошибка:Ошибка при вызове метода контекста (Подключиться): SMTP greeting failure: 421 SMTP connection broken (reply)Порты настроены правильно, не установлено SSL-шифрование для smtp.
В паролях для почты не использовать спецсимволы, пример из опыта: в пароле к почте был символ «+», пока из пароля не убрали, соединение не происходило! Система выдавала ошибку: Ошибка при вызове метода контекста (Подключиться): Can not authenticate to SMTP server: 535 5.7.8 Error: authentication failed: Invalid user or password!
Разработчики 1С вносят фунционал в рабочие конфигурации, например: УТ 10.3.30.1 от 26.09.2014, описание обновления: В справочник «Учетные записи электронной почты» добавлены реквизиты «Использовать защищенную версию протокола SMTP» и «Использовать защищенную версию протокола POP3». При установке этих реквизитов предоставляется возможность подключаться к почтовым серверам через безопасное соединение (SSL). Реквизиты доступны при использовании версии платформы не ниже 8.3.1.
Сервис отключен с разрывом канала (SMTP error code 421)
УТ 11.1.2.23, платформа 8.3.6.2390 (перешел с 8.2) перестала почта через gmail отправляться через stunnel, попробовал напрямую(там вроде 1с добавили ssl) выдает такую ошибку.
Куда копать?
Настройки: pop.gmail.com 995
smtp.gmail.com 465
Функция СформироватьИнтернетПрофиль(знач УчетнаяЗапись,
знач Пароль = Неопределено,
знач ФормироватьSMTPПрофиль = Истина,
знач ФормироватьPOP3Профиль = Истина) Экспорт
НастройкиСоединения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
УчетнаяЗапись,
«Пользователь,
|Пароль,
|ВремяОжидания,
|СерверИсходящейПочтыSMTP,
|ПортSMTP,
|SMTPАутентификация,
|СпособSMTPАутентификации,
|ПользовательSMTP,
|ПарольSMTP,
|СерверВходящейПочтыPOP3,
|ПортPOP3,
|СпособPOP3Аутентификации»);
Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.Пользователь = НастройкиСоединения.Пользователь;
Профиль.ВремяОжидания = НастройкиСоединения.ВремяОжидания;
Если ЗначениеЗаполнено(Пароль) Тогда
Профиль.Пароль = Пароль;
Иначе
Профиль.Пароль = НастройкиСоединения.Пароль;
КонецЕсли;
Если ФормироватьSMTPПрофиль Тогда
Профиль.АдресСервераSMTP = НастройкиСоединения.СерверИсходящейПочтыSMTP;
Профиль.ПортSMTP = НастройкиСоединения.ПортSMTP;
Если НастройкиСоединения.SMTPАутентификация = Перечисления.ВариантыSMTPАутентификации.АналогичноPOP3 Тогда
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;
Профиль.ПользовательSMTP = НастройкиСоединения.Пользователь;
Профиль.ПарольSMTP = Профиль.Пароль;
ИначеЕсли НастройкиСоединения.SMTPАутентификация = Перечисления.ВариантыSMTPАутентификации.ЗадаетсяПараметрами Тогда
Если НастройкиСоединения.СпособSMTPАутентификации = Перечисления.СпособыSMTPАутентификации.CramMD5 Тогда
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.CramMD5;
ИначеЕсли НастройкиСоединения.СпособSMTPАутентификации = Перечисления.СпособыSMTPАутентификации.Login Тогда
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.Login;
ИначеЕсли НастройкиСоединения.СпособSMTPАутентификации = Перечисления.СпособыSMTPАутентификации.Plain Тогда
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.Plain;
ИначеЕсли НастройкиСоединения.СпособSMTPАутентификации = Перечисления.СпособыSMTPАутентификации.БезАутентификации Тогда
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.БезАутентификации;
Иначе
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;
КонецЕсли;
Профиль.ПользовательSMTP = НастройкиСоединения.ПользовательSMTP;
Профиль.ПарольSMTP = НастройкиСоединения.ПарольSMTP;
ИначеЕсли НастройкиСоединения.SMTPАутентификация = Перечисления.ВариантыSMTPАутентификации.POP3ПередSMTP Тогда
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.БезАутентификации;
Профиль.POP3ПередSMTP = Истина;
Иначе
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.БезАутентификации;
КонецЕсли;
КонецЕсли;
Если ФормироватьPOP3Профиль Тогда
Профиль.АдресСервераPOP3 = НастройкиСоединения.СерверВходящейПочтыPOP3;
Профиль.ПортPOP3 = НастройкиСоединения.ПортPOP3;
Если НастройкиСоединения.СпособPOP3Аутентификации = Перечисления.СпособыPOP3Аутентификации.APOP Тогда
Профиль.АутентификацияPOP3 = СпособPOP3Аутентификации.APOP;
ИначеЕсли НастройкиСоединения.СпособPOP3Аутентификации = Перечисления.СпособыPOP3Аутентификации.CramMD5 Тогда
Профиль.АутентификацияPOP3 = СпособPOP3Аутентификации.CramMD5;
Иначе
Профиль.АутентификацияPOP3 = СпособPOP3Аутентификации.Обычная;
КонецЕсли;
КонецЕсли;
//19.11.2015
Профиль.ИспользоватьSSLPOP3=Истина;
Профиль.ИспользоватьSSLSMTP=Истина;
//19.11.2015