Проблемы с почтовым клиентом в 1С:Управление нашей фирмой (УНФ) — одна из самых часто встречающихся задач при настройке системы. В ряде случаев может потребоваться специализированный почтовый клиент для стандартных конфигураций 1С. Ситуация осложняется тем, что внешние почтовые клиенты (например, Thunderbird) могут работать корректно, в то время как 1С выдает ошибку: «Данная операция не может быть выполнена, так как отсутствует соединение с SMTP сервером». Разберем детально причины этого поведения и способы исправления ситуации.
Первым делом проанализируем версию используемой платформы 1С:Предприятие. В истории обновлений зафиксированы случаи (например, в ветке 8.3.14), когда механизмы работы с защищенным соединением содержали внутренние ошибки. Если ваша версия платформы устарела или установлена из неофициальных источников, это может стать корневой причиной сбоев в работе библиотек com или openssl, которые 1С использует для почтового обмена.
Рассмотрим рекомендации: если вы столкнулись с тем, что почта не уходит на конкретном релизе, первым шагом должно стать обновление платформы до актуальной стабильной версии (не ниже 8.3.16), так как именно в них была существенно переработана работа с протоколами TLS 1.2 и выше.
Выясним причину, почему сторонний клиент работает, а 1С — нет. Современные антивирусы (Avast, AVG, ESET) часто включают модуль «Экран почты». Он перехватывает трафик по портам 25, 465 и 587, подменяя сертификаты сервера своими. Thunderbird умеет доверять системному хранилищу сертификатов или автоматически обучается, а 1С работает более жестко.
Что нужно сделать:
1cv8.exe (или 1cv8c.exe для тонкого клиента) в исключения сканирования почты.25 вашим интернет-провайдером (многие провайдеры закрывают его для борьбы со спамом).В файловой базе 1С механизмы отправки почты работают иначе, чем в клиент-серверной, где активно применяется фоновая отправка уведомлений. Часто отправка инициируется фоновым заданием. Проанализируем ситуацию: если вы видите, что «ошибка исчезла, но ничего не уходит», скорее всего, письма зависли в очереди со статусом «К отправке».
В файловой базе для работы фоновых заданий должен быть либо запущен выделенный сеанс, либо активен пользователь, который инициирует эти задания. Проверьте Журнал регистрации и форму «Обслуживание -> Регламентные задания». Если задание ОтправкаСМСИЭлектронныхПисем завершается с ошибкой или не запускается, почта не уйдет, даже если настройки SMTP верны.
Иногда проблема кроется в ошибке программного кода конфигурации УНФ. Рассмотрим пример ошибки, возникающей в общем модуле ЭлектроннаяПочтаУНФ:
Значение не является значением объектного типа (Адрес)
{ОбщийМодуль.ЭлектроннаяПочтаУНФ.Модуль(1694)}:НормализованныйАдресОтправителя = НормализованныйАдрес(ОписаниеПочтовогоСообщения.ИнтернетПочтовоеСообщение.Отправитель.Адрес);
Эта ошибка указывает на то, что объект Отправитель или его свойство Адрес не определены. Проанализируем причины:
Выясним влияние сетевых протоколов. Платформа 1С может пытаться установить соединение с почтовым сервером по протоколу IPv6, если он включен в Windows. Если ваш корпоративный сервер настроен только на IPv4, попытка соединения может «отвалиться» по таймауту с ошибкой «отсутствует соединение».
Рекомендуется зайти в настройки сетевого адаптера и временно отключить IP версии 6 (TCP/IPv6). Это часто решает проблему мгновенно без изменения настроек в самой 1С.
Для того чтобы понять, виновата ли конфигурация УНФ или сама Платформа, мы рекомендуем выполнить небольшой тест. Попробуем отправить письмо через простую обработку, используя встроенный объект ИнтернетПочта напрямую.
Рассмотрим пример кода для диагностики:
Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.АдресСервераSMTP = "smtp.yourserver.ru";
Профиль.ПортSMTP = 25;
Профиль.ПользовательSMTP = "user@domain.ru";
Профиль.ПарольSMTP = "your_password";
Почта = Новый ИнтернетПочта;
Попытка
Почта.Подключиться(Профиль);
Сообщить("Соединение установлено успешно!");
Почта.Отключиться();
Исключение
Сообщить("Ошибка соединения: " + ОписаниеОшибки());
КонецПопытки;
Если этот код отрабатывает успешно, значит, проблема в логике конфигурации УНФ (в справочнике УчетныеЗаписиЭлектроннойПочты или общих модулях). Если же и здесь возникает ошибка — проблема в сетевых доступах, платформе или настройках самого SMTP-сервера (например, сервер требует обязательной авторизации или запрещает Relay с вашего IP-адреса).
Не стоит забывать и о «золотом правиле» администратора 1С. При обновлении конфигурации или переходе на другую версию платформы старые данные в кэше могут приводить к непредсказуемым ошибкам в работе почтовых библиотек. Очистите папки кэша в профиле пользователя (%LocalAppData%\1C\1cv8 и %AppData%\1C\1cv8), прежде чем приступать к глубокому анализу кода.