При работе с системой 1С:Предприятие пользователи или разработчики часто сталкиваются с необходимостью автоматической отправки электронной почты. Для этих целей обычно используется системная учетная запись электронной почты. Однако иногда возникают ситуации, когда, казалось бы, рабочая учетная запись внезапно перестает отправлять письма, выдавая ошибку Authentication unsuccessful (код SMTP 535 5.7.3). Рассмотрим подробно, почему это происходит и как выявить причину этой проблемы.
Ошибка SMTP error code 535 5.7.3 Authentication unsuccessful ясно указывает на то, что почтовый сервер отклонил попытку аутентификации отправителя. Это означает, что проблема заключается не в маршрутизации или доставке самого письма, а в невозможности установить доверительное соединение с почтовым сервером с использованием предоставленных учетных данных. Другими словами, сервер не признал логин и пароль, которые 1С пытается использовать.
Первым и одним из самых важных шагов при диагностике данной проблемы является проверка корректности учетных данных, введенных непосредственно в системе 1С. Часто нам могут сообщать, что учетная запись "рабочая", однако в 1С пароль мог быть не обновлен после изменения на стороне почтового сервера, или же была допущена опечатка. Для просмотра и проверки параметров учетной записи можно использовать инструмент для получения настроек учетных записей электронной почты.
Справочники.УчетныеЗаписиЭлектроннойПочты.Журнал регистрации 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С. Некорректные значения могут также приводить к невозможности аутентификации или даже установки соединения:
smtp.office365.com, для Yandex — smtp.yandex.ru, для Gmail — smtp.gmail.com. Любая опечатка приведет к ошибке.Ошибки в этих параметрах могут привести к тому, что даже с правильными логином и паролем 1С не сможет пройти аутентификацию, так как не сможет установить правильное соединение с сервером.
Системная учетная запись в 1С предназначена для выполнения различных служебных задач, таких как рассылка регламентных отчетов, уведомлений или обработка входящей почты. При работе системы 1С в серверном варианте отправка почты выполняется не с клиентской машины, а с сервера 1С:Предприятия. Чтобы автоматизировать сбор и обработку файлов из входящей почты, можно использовать программные инструменты для загрузки данных.
В случае использования корпоративной почты (например, на базе Microsoft 365, Exchange или других специализированных решений), причины отказа в аутентификации могут быть более сложными и требовать вмешательства ИТ-администраторов.
Как справедливо отмечалось в обсуждении, если мы работаем в тестовой базе или на тестовом сервере, это может быть причиной возникновения проблем с отправкой почты. Тестовые среды часто конфигурируются с ограничениями, чтобы предотвратить случайную рассылку реальных писем или снизить нагрузку на внешние ресурсы.
Иногда причиной проблем с подключением и аутентификацией может быть устаревшая версия платформы 1С. Старые версии могут не поддерживать современные протоколы безопасности или методы шифрования, которые используются почтовыми серверами.
Для понимания контекста, рассмотрим пример кода, который использует системную учетную запись для отправки почты:
Если МассивКому.Количество() > 0 Тогда
// отправка писсьма
УчетнаяЗаписьПочты = Справочники.УчетныеЗаписиЭлектроннойПочты.СистемнаяУчетнаяЗаписьЭлектроннойПочты;
ПараметрыОтправки = Новый Структура;
ПараметрыОтправки.Вставить("Важность", ВажностьИнтернетПочтовогоСообщения.Обычная);
ПараметрыОтправки.Вставить("Кодировка", "UTF-8");
ПараметрыОтправки.Вставить("Кому", МассивКому);
ПараметрыОтправки.Вставить("Вложения", МассивВложений);
ПараметрыОтправки.Вставить("ОбрабатыватьТексты", Ложь);
ПараметрыОтправки.Вставить("УдалитьСоединение", Истина);
ПараметрыОтправки.Вставить("ПротоколПочты", "IMAP"); // В данном случае протокол IMAP указан для получения, для отправки используется SMTP, который берется из настроек УчетнойЗаписиПочты.
ПараметрыОтправки.Вставить("ТипТекста", Перечисления.ТипыТекстовЭлектронныхПисем.ПростойТекст);
ПараметрыОтправки.Вставить("Тема", ТемаПисьма);
ПараметрыОтправки.Вставить("Тело", ТекстПисьма);
РаботаСПочтовымиСообщениями.ОтправитьПочтовоеСообщение(УчетнаяЗаписьПочты, ПараметрыОтправки);
КонецЕсли;
Мы видим, что для отправки почты используется стандартный общий модуль РаботаСПочтовымиСообщениями и его метод ОтправитьПочтовоеСообщение, которому передается объект УчетнаяЗаписьПочты (полученный из справочника Справочники.УчетныеЗаписиЭлектроннойПочты.СистемнаяУчетнаяЗаписьЭлектроннойПочты) и структура с параметрами письма. Именно в этом объекте УчетнаяЗаписьПочты и содержатся все необходимые настройки для подключения к SMTP-серверу, включая логин, пароль, адрес сервера, порт и тип шифрования.
Для выявления точной причины ошибки "Authentication unsuccessful" при отправке писем из системной учетной записи 1С необходимо провести комплексную диагностику. Мы начинаем с проверки настроек учетной записи непосредственно в 1С, убеждаемся в правильности логина и пароля, особенно уделяя внимание возможности использования паролей для внешних приложений. Затем мы детально анализируем параметры почтового сервера (SMTP-сервер, порт, шифрование, авторизация) и учитываем особенности корпоративной почты и сетевых политик безопасности. Не забываем про влияние тестовой среды и актуальность платформы 1С. Только системный подход к диагностике позволит нам точно определить и устранить проблему, восстановив работоспособность отправки электронной почты.