Почему системная учетная запись 1С не отправляет письма с ошибкой "Authentication unsuccessful" (SMTP 535 5.7.3)?

Программист 1С v8.3 (Управляемые формы)
← На главную

При работе с системой 1С:Предприятие пользователи или разработчики часто сталкиваются с необходимостью автоматической отправки электронной почты. Для этих целей обычно используется системная учетная запись электронной почты. Однако иногда возникают ситуации, когда, казалось бы, рабочая учетная запись внезапно перестает отправлять письма, выдавая ошибку Authentication unsuccessful (код SMTP 535 5.7.3). Рассмотрим подробно, почему это происходит и как выявить причину этой проблемы.

Ошибка SMTP error code 535 5.7.3 Authentication unsuccessful ясно указывает на то, что почтовый сервер отклонил попытку аутентификации отправителя. Это означает, что проблема заключается не в маршрутизации или доставке самого письма, а в невозможности установить доверительное соединение с почтовым сервером с использованием предоставленных учетных данных. Другими словами, сервер не признал логин и пароль, которые 1С пытается использовать.

Проверяем настройки учетной записи электронной почты в 1С

Первым и одним из самых важных шагов при диагностике данной проблемы является проверка корректности учетных данных, введенных непосредственно в системе 1С. Часто нам могут сообщать, что учетная запись "рабочая", однако в 1С пароль мог быть не обновлен после изменения на стороне почтового сервера, или же была допущена опечатка. Для просмотра и проверки параметров учетной записи можно использовать инструмент для получения настроек учетных записей электронной почты.

  1. Перейдите в раздел, где хранятся настройки учетных записей электронной почты. Обычно это справочник Справочники.УчетныеЗаписиЭлектроннойПочты.
  2. Найдите и откройте карточку системной учетной записи, которая вызывает проблему.
  3. Внутри карточки учетной записи обычно присутствует функция "Проверить настройки". Активируйте ее. Эта функция инициирует тестовое подключение к почтовому серверу с использованием введенных данных и показывает результат.
  4. Если проверка настроек покажет ошибку аутентификации, мы получим подтверждение, что проблема действительно в логине или пароле. Если проверка прошла успешно, то причина может быть в другом, но такой результат маловероятен при ошибке 535.

Анализируем полный текст ошибки из журнала регистрации

Журнал регистрации 1С предоставляет ценную информацию о причинах возникновения ошибок. В нашем случае, ошибка из журнала регистрации очень точно указывает на проблему:


Не удалось подключиться к серверу IMAP. Проверьте настройки учетной записи.
Аутентификация не прошла (SMTP error code 535 5.7.3 Authentication unsuccessful)
{ОбщийМодуль.РаботаСПочтовымиСообщениямиСлужебный.Модуль(1389)}:      Соединение.Подключиться(Профиль, ПротоколПолученияПочты);
{ОбщийМодуль.РаботаСПочтовымиСообщениямиСлужебный.Модуль(1366)}:      Возврат ОтправитьПисьма(УчетнаяЗапись, Письма)[Письмо];
{ОбщийМодуль.РаботаСПочтовымиСообщениямиСлужебный.Модуль(511)}:          РезультатОтправки = ОтправитьПисьмо(УчетнаяЗапись, Письмо);
{ОбщийМодуль.РаботаСПочтовымиСообщениями.Модуль(549)}:      РаботаСПочтовымиСообщениямиСлужебный.ОтправитьСообщение(УчетнаяЗапись, ПараметрыОтправки);
{ВнешняяОбработка.УведомлениеПоПредварительномуЗаказуПоставщику_0_3.МодульОбъекта(136)}:            РаботаСПочтовымиСообщениями.ОтправитьПочтовоеСообщение(УчетнаяЗаписьПочты, ПараметрыОтправки);
{ВнешняяОбработка.УведомлениеПоПредварительномуЗаказуПоставщику_0_3.МодульОбъекта(61)}:      Отправить();
{ВнешняяОбработка.УведомлениеПоПредварительномуЗаказуПоставщику_0_3.Форма.Форма.Форма(10)}:      ДанныйОбъект.УведомлениеПоПредварительномуЗаказуПоставщику_0_3();
 по причине:
Аутентификация не прошла (SMTP error code 535 5.7.3 Authentication unsuccessful)

Мы видим, что проблема возникает в модуле РаботаСПочтовымиСообщениямиСлужебный при попытке метода Соединение.Подключиться. Это подтверждает, что 1С не смогла установить соединение с почтовым сервером из-за ошибки аутентификации. Этот стек вызовов также показывает, что функциональность используется из внешней обработки.

Учитываем специфику паролей для внешних приложений

Для многих современных почтовых сервисов, таких как Yandex, Google (Gmail), Mail.ru и часто для корпоративных почтовых систем, стандартный пароль от веб-интерфейса может быть недостаточен или даже неприменим для использования в сторонних приложениях, включая 1С. Это связано с усилением мер безопасности, в частности, с широким распространением двухфакторной аутентификации (2FA).

  1. Пароли для внешних приложений (App Passwords): Если для почтового ящика включена двухфакторная аутентификация, то для доступа к нему через сторонние программы (почтовые клиенты, 1С) необходимо сгенерировать специальный "пароль для внешнего приложения". Этот пароль создается в настройках безопасности вашего почтового сервиса и отличается от вашего основного пароля.
  2. Корпоративная почта: Даже если ваша почта корпоративная, она может быть развернута на базе одного из упомянутых сервисов или использовать аналогичные механизмы безопасности. В таком случае, создание и предоставление такого пароля является задачей ИТ-администратора вашей компании. Мы должны уточнить у администраторов, требуется ли специальный пароль для доступа к почтовому ящику через приложения, и, если да, запросить его.

Детально проверяем параметры почтового сервера в 1С

Помимо логина и пароля, критически важно убедиться в правильности других настроек почтового соединения, указанных в карточке учетной записи 1С. Некорректные значения могут также приводить к невозможности аутентификации или даже установки соединения:

  1. Сервер исходящей почты (SMTP): Проверим, что указан абсолютно верный адрес SMTP-сервера. Например, для Microsoft 365 это может быть smtp.office365.com, для Yandex — smtp.yandex.ru, для Gmail — smtp.gmail.com. Любая опечатка приведет к ошибке.
  2. Порт: Убедимся, что указан правильный порт для исходящей почты. Наиболее часто используемые порты:
    • 465: Обычно используется для защищенного соединения с использованием SSL/TLS.
    • 587: Часто используется для STARTTLS, также защищенного соединения.
    • 25: Стандартный, но менее безопасный порт, который часто блокируется провайдерами или файрволами.
  3. Шифрование: Проверим, что тип шифрования установлен корректно. Обычно это SSL/TLS или STARTTLS. Современные почтовые сервера редко поддерживают незашифрованные соединения для аутентификации.
  4. Авторизация: Убедимся, что установлен флажок "При отправке писем требуется авторизация на сервере исходящей почты (SMTP)". Это является ключевым требованием для большинства почтовых серверов, чтобы разрешить отправку писем.

Ошибки в этих параметрах могут привести к тому, что даже с правильными логином и паролем 1С не сможет пройти аутентификацию, так как не сможет установить правильное соединение с сервером.

Особенности системной учетной записи 1С и серверный вариант работы

Системная учетная запись в 1С предназначена для выполнения различных служебных задач, таких как рассылка регламентных отчетов, уведомлений или обработка входящей почты. При работе системы 1С в серверном варианте отправка почты выполняется не с клиентской машины, а с сервера 1С:Предприятия. Чтобы автоматизировать сбор и обработку файлов из входящей почты, можно использовать программные инструменты для загрузки данных.

  1. Доступность почтового сервера для сервера 1С: Необходимо убедиться, что сервер 1С:Предприятия, с которого происходит попытка отправки почты, имеет сетевой доступ к почтовому серверу. Промежуточные файрволы, сетевые политики или антивирусное ПО на сервере 1С могут блокировать исходящие соединения на необходимые порты.
  2. Права пользователя операционной системы: Проверим, под каким пользователем операционной системы запущен сервер 1С. Иногда могут возникать специфические ограничения, связанные с этим пользователем.
  3. Использование выделенных email-адресов: Для системных учетных записей часто рекомендуется использовать специально созданные email-адреса, а не реальные ящики сотрудников. Это упрощает управление и снижает риски, связанные с изменением паролей.

Корпоративная почта и продвинутые политики безопасности

В случае использования корпоративной почты (например, на базе Microsoft 365, Exchange или других специализированных решений), причины отказа в аутентификации могут быть более сложными и требовать вмешательства ИТ-администраторов.

  1. Microsoft 365 и "Authenticated SMTP": В современных версиях Microsoft 365 для некоторых пользователей по умолчанию может быть отключена возможность "базовой" SMTP-аутентификации. Для решения этой проблемы ИТ-администратору может потребоваться явное включение "Authenticated SMTP" для проблемного пользователя через Центр администрирования Microsoft 365 (Microsoft 365 admin center) или через PowerShell.
  2. "Безопасность по умолчанию" (Security Defaults) и политики условного доступа: Эти политики могут блокировать устаревшие методы аутентификации или доступ с определенных IP-адресов/регионов. Если они активированы, то для сторонних приложений может потребоваться создание исключений или использование более современных методов аутентификации, которые не всегда поддерживаются 1С "из коробки" без дополнительных настроек.
  3. Блокировка IP-адресов: На стороне почтового сервера или корпоративного файрвола могут быть настроены правила, блокирующие исходящие или входящие соединения с IP-адреса, который использует сервер 1С:Предприятия. Журналы почтового сервиса (например, Azure logs для Microsoft 365) или сетевого оборудования могут предоставить более детальную информацию о причинах отказа в подключении.

Влияние тестовой базы и среды на отправку почты

Как справедливо отмечалось в обсуждении, если мы работаем в тестовой базе или на тестовом сервере, это может быть причиной возникновения проблем с отправкой почты. Тестовые среды часто конфигурируются с ограничениями, чтобы предотвратить случайную рассылку реальных писем или снизить нагрузку на внешние ресурсы.

  1. Заблокированная работа с внешними ресурсами: В тестовой базе или на тестовом сервере могут быть программно или сетевыми средствами отключены или ограничены внешние взаимодействия, включая отправку почты. Это может быть реализовано на уровне файрволов, прокси-серверов или настроек самой платформы 1С.
  2. Отключение регламентных заданий: Если отправка писем инициируется регламентными заданиями, то в тестовой базе эти задания могут быть отключены или настроены на выполнение только в определенные часы, или же на сервере 1С не установлена галка "Выполнять регламентные задания". Мы должны убедиться, что регламентные задания, отвечающие за отправку почты, активны и имеют право на выполнение.

Актуальность платформы 1С

Иногда причиной проблем с подключением и аутентификацией может быть устаревшая версия платформы 1С. Старые версии могут не поддерживать современные протоколы безопасности или методы шифрования, которые используются почтовыми серверами.

  1. Обновление платформы: Мы должны убедиться, что используется актуальная версия платформы 1С:Предприятие. Регулярные обновления платформы включают улучшения в работе с сетевыми протоколами и безопасностью. Для автоматизации обновлений и обслуживания нескольких баз 1С в тихом режиме можно использовать специализированный инструмент.

Пример кода отправки почты в 1С

Для понимания контекста, рассмотрим пример кода, который использует системную учетную запись для отправки почты:


Если МассивКому.Количество() > 0 Тогда
    //  отправка писсьма
    УчетнаяЗаписьПочты = Справочники.УчетныеЗаписиЭлектроннойПочты.СистемнаяУчетнаяЗаписьЭлектроннойПочты;
    ПараметрыОтправки  = Новый Структура;
    ПараметрыОтправки.Вставить("Важность",           ВажностьИнтернетПочтовогоСообщения.Обычная);
    ПараметрыОтправки.Вставить("Кодировка",         "UTF-8");
    ПараметрыОтправки.Вставить("Кому",               МассивКому);
    ПараметрыОтправки.Вставить("Вложения",           МассивВложений);
    ПараметрыОтправки.Вставить("ОбрабатыватьТексты", Ложь);
    ПараметрыОтправки.Вставить("УдалитьСоединение",  Истина);
    ПараметрыОтправки.Вставить("ПротоколПочты",      "IMAP"); // В данном случае протокол IMAP указан для получения, для отправки используется SMTP, который берется из настроек УчетнойЗаписиПочты.
    ПараметрыОтправки.Вставить("ТипТекста",          Перечисления.ТипыТекстовЭлектронныхПисем.ПростойТекст);
    ПараметрыОтправки.Вставить("Тема",               ТемаПисьма);
    ПараметрыОтправки.Вставить("Тело",               ТекстПисьма);
    РаботаСПочтовымиСообщениями.ОтправитьПочтовоеСообщение(УчетнаяЗаписьПочты, ПараметрыОтправки);
КонецЕсли;

Мы видим, что для отправки почты используется стандартный общий модуль РаботаСПочтовымиСообщениями и его метод ОтправитьПочтовоеСообщение, которому передается объект УчетнаяЗаписьПочты (полученный из справочника Справочники.УчетныеЗаписиЭлектроннойПочты.СистемнаяУчетнаяЗаписьЭлектроннойПочты) и структура с параметрами письма. Именно в этом объекте УчетнаяЗаписьПочты и содержатся все необходимые настройки для подключения к SMTP-серверу, включая логин, пароль, адрес сервера, порт и тип шифрования.

Заключение

Для выявления точной причины ошибки "Authentication unsuccessful" при отправке писем из системной учетной записи 1С необходимо провести комплексную диагностику. Мы начинаем с проверки настроек учетной записи непосредственно в 1С, убеждаемся в правильности логина и пароля, особенно уделяя внимание возможности использования паролей для внешних приложений. Затем мы детально анализируем параметры почтового сервера (SMTP-сервер, порт, шифрование, авторизация) и учитываем особенности корпоративной почты и сетевых политик безопасности. Не забываем про влияние тестовой среды и актуальность платформы 1С. Только системный подход к диагностике позволит нам точно определить и устранить проблему, восстановив работоспособность отправки электронной почты.

← На главную