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

Важно понимать, что возможности работы с почтой в 1С зависят от версии платформы (8.2, 8.3) и конфигурации (Бухгалтерия, УТ, ЗУП и др.). Например, в 1С:Документооборот функционал почты реализован максимально широко, тогда как в типовой 1С:Бухгалтерии 3.0 потребуется доработка. Мы рассмотрим универсальные методы, а также нюансы для популярных конфигураций.

Если вы ранее пытались настроить почту в 1С и столкнулись с ошибками вроде "Не удалось подключиться к серверу IMAP" или "Ошибка аутентификации SMTP" — в статье найдёте причины и решения. Также отдельно разберём, как автоматизировать обработку входящих писем (например, создание документов из счетов-фактур в PDF) и отправку исходящих с вложениями.

1. Стандартные механизмы работы с почтой в 1С

Платформа 1С:Предприятие 8.3 предоставляет встроенные объекты для работы с электронной почтой через протоколы SMTP (отправка) и IMAP/POP3 (получение). Эти механизмы доступны через:

  • 📌 Объект Почта — базовый функционал для отправки писем с вложениями.
  • 📌 Объект ИнтернетПочта — расширенные возможности (работа с IMAP, папками, фильтрация писем).
  • 📌 Обработки ПолучениеПочты.epf и ОтправкаПочты.epf — типовой инструмент для конфигураций на управляемых формах.

Для начала работы достаточно:

  1. Создать профиль почты в справочнике Профили почты (путь: Администрирование → Настройки программы → Почта и взаимодействия).
  2. Указать параметры подключения: адрес сервера (например, imap.yandex.ru), порт (993 для IMAP с SSL), логин и пароль.
  3. Настроить правила обработки входящих писем (например, сохранение вложений в определённую папку или создание документов на основе шаблонов).
💡

Если в вашей конфигурации нет справочника Профили почты, его можно добавить через Конфигуратор (раздел Общие → Справочники) или использовать внешнюю обработку для работы с почтой.

Ограничения стандартных механизмов:

  • ⚠️ Нет поддержки OAuth 2.0 (только логин/пароль или открытые SMTP-серверы).
  • ⚠️ Отсутствует работа с Microsoft Graph API (для Office 365 требуются доработки).
  • ⚠️ Нет встроенной обработки HTML-писем (только plain text или вложения).

2. Настройка IMAP/POP3 для получения писем

Для получения писем в 1С чаще всего используется протокол IMAP, так как он позволяет работать с папками на сервере (например, Входящие, Отправленные) и синхронизировать статусы писем. POP3 подходит только для простой загрузки писем без синхронизации.

Пошаговая инструкция для настройки IMAP:

  1. Откройте справочник Профили почты и создайте новый элемент.
  2. В поле Тип подключения выберите IMAP.
  3. Укажите параметры сервера:
    • 📍 Адрес сервера: imap.mail.ru (для Mail.ru), imap.gmail.com (для Gmail).
    • 📍 Порт: 993 (с SSL) или 143 (без шифрования).
    • 📍 Логин: полный email-адрес (например, user@domain.ru).
    • 📍 Пароль: пароль от почтового ящика или приложения (для Gmail).
  4. Включите опцию Использовать SSL (рекомендуется).
  5. Укажите папку для загрузки писем (обычно INBOX).
  6. Настройте периодичность проверки (например, каждые 10 минут).
  7. Убедитесь, что почтовый сервер поддерживает IMAP|Проверьте, что порт не заблокирован фаерволом|Отключите двухфакторную аутентификацию или сгенерируйте пароль приложения|Попробуйте подключиться через сторонний клиент (например, Thunderbird)-->

    Типичные ошибки при настройке IMAP:

    Ошибка Причина Решение
    Не удалось подключиться к серверу Неверный адрес сервера или порт Проверьте настройки у провайдера почты (например, для Yandex: imap.yandex.ru:993)
    Ошибка аутентификации Неправильный логин/пароль или блокировка по IP Используйте пароль приложения (для Gmail) или разблокируйте IP в настройках безопасности
    Превышено время ожидания Медленный сервер или проблемы с интернетом Увеличьте таймаут в настройках профиля или проверьте соединение
    Не поддерживается SSL Устаревшая версия OpenSSL в 1С Обновите платформу 1С до актуальной версии (8.3.20+) или отключите SSL (не рекомендуется)
    📊 Какой почтовый сервис вы используете в 1С?
    Yandex
    Mail.ru
    Gmail
    Outlook/Office 365
    Корпоративный сервер
    Другой

    3. Автоматическая обработка входящих писем

    Одно из ключевых преимуществ интеграции почты с 1С — автоматическое создание документов из входящих писем. Например, можно настроить:

    • 📄 Создание счета на оплату из PDF-вложения.
    • 📄 Регистрацию заявки от клиента из письма с темой "Заказ №123".
    • 📄 Сохранение акта выполненных работ в соответствующую папку документооборота.

    Для этого используйте правила обработки в настройках профиля почты или создайте обработку на языке с логикой:

    Процедура ОбработатьПисьмо(Письмо)
    

    Если НРег(Письмо.Тема) = "счет на оплату" Тогда

    // Извлечение вложения

    Вложение = Письмо.Вложения.Получить(0);

    // Сохранение во временный файл

    ИмяФайла = КаталогВременныхФайлов() + "вложение.pdf";

    Вложение.СохранитьКак(ИмяФайла);

    // Создание документа "Счет на оплату"

    НовыйСчет = Документы.СчетаНаОплату.СоздатьДокумент();

    НовыйСчет.ЗаполнитьИзPDF(ИмяФайла); // Требуется доработка

    НовыйСчет.Записать();

    КонецЕсли;

    КонецПроцедуры

    Важно: Для извлечения данных из PDF или Excel-вложений потребуется подключить внешние библиотеки (например, OneScript.PDF или АСПД.ОбработкаФайлов), так как в стандартной поставке 1С таких инструментов нет.

    Пример кода для обработки вложений Excel

    В этом спойлере скрыт код для чтения данных из Excel-файла с использованием COM-объекта Excel.Application. Обратите внимание, что этот метод работает только на Windows и требует установленного Microsoft Excel.

    ```bsl

    Попытка

    Excel = Новый COMОбъект("Excel.Application");

    Книга = Excel.Workbooks.Open(ИмяФайла);

    Лист = Книга.Worksheets(1);

    Данные = Лист.UsedRange.Value;

    // Обработка данных...

    Исключение

    Сообщить("Ошибка чтения Excel: " + ОписаниеОшибки());

    КонецПопытки;

    ```

    4. Работа с SMTP для отправки писем

    Отправка писем из 1С осуществляется через протокол SMTP. В отличие от IMAP, здесь чаще возникают проблемы с спам-фильтрами, особенно если письма отправляются с корпоративного домена без правильно настроенных SPF, DKIM и DMARC-записей.

    Минимальные настройки для SMTP:

    • 📤 Адрес сервера: smtp.yandex.ru (порт 465 для SSL).
    • 📤 Аутентификация: включите опцию Требуется аутентификация.
    • 📤 От кого: укажите email, зарегистрированный на SMTP-сервере.
    • 📤 Кодировка: выберите UTF-8 для поддержки кириллицы.

Пример кода для отправки письма с вложением:

Почта = Новый Почта;

Сообщение = Новый СообщениеЭлектроннойПочты;

Сообщение.Адресат = "client@example.com";

Сообщение.Тема = "Счет на оплату №123 от 01.06.2026";

Сообщение.Текст = "Добрый день! Прилагаем счет на оплату.";

Сообщение.Вложения.Добавить("C:\Счета\счет_123.pdf");

Почта.Отправить(Сообщение, "smtp.yandex.ru", 465, "user@domain.ru", "пароль", Истина);

💡

Для массовой рассылки писем из 1С (например, акций или уведомлений) используйте фоновые задания, чтобы не блокировать интерфейс программы. В типовой конфигурации 1С:Управление торговлей для этого есть обработка МассоваяРассылка.epf.

5. Интеграция с Microsoft Office 365 и Exchange

Для работы с Office 365 или Exchange Server стандартные механизмы 1С не подходят — потребуется использовать Microsoft Graph API или EWS (Exchange Web Services). Это связано с тем, что Microsoft отключает поддержку базовой аутентификации (логин/пароль) в пользу OAuth 2.0.

Алгоритм настройки:

  1. Зарегистрируйте приложение в Azure AD (портale.azure.com) с правами Mail.Read, Mail.Send.
  2. Получите Client ID и Client Secret.
  3. Используйте HTTP-сервис в 1С для авторизации и получения токена:
АдресАвторизации = "https://login.microsoftonline.com/ТЕНАНТ_ID/oauth2/v2.0/token";

Запрос = Новый HTTPЗапрос(АдресАвторизации);

Запрос.УстановитьТекст("grant_type=client_credentials&client_id=CLIENT_ID&client_secret=CLIENT_SECRET&scope=https://graph.microsoft.com/.default");

Ответ = Новый HTTPСоединение(АдресАвторизации);

Ответ.ОтправитьДляОбработки(Запрос);

Токен = JSON.Прочитать(Ответ.ПолучитьТекст()).access_token;

  • Далее отправляйте запросы к Graph API для работы с почтой, например:
  • Адрес = "https://graph.microsoft.com/v1.0/me/messages";
    

    Запрос = Новый HTTPЗапрос(Адрес);

    Запрос.УстановитьЗаголовок("Authorization", "Bearer " + Токен);

    Ответ = Новый HTTPСоединение(Адрес);

    Ответ.ОтправитьДляОбработки(Запрос);

    Письма = JSON.Прочитать(Ответ.ПолучитьТекст());

    💡

    Для упрощения работы с Graph API можно использовать готовые библиотеки, такие как 1C-GraphAPI (доступна на GitHub). Она инкапсулирует логику авторизации и предоставляет удобные методы для работы с почтой, календарями и контактами.

    Обратите внимание:

    ⚠️ Внимание: Настройки прав доступа в Azure AD могут изменяться. Перед настройкой проверьте актуальные требования в официальной документации Microsoft. Например, с 2026 года для некоторых операций требуется Mail.ReadWrite вместо Mail.Read.

    6. Обработка ошибок и оптимизация производительности

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

    • 🔄 Используйте фоновые задания для проверки почты (например, через Планировщик в 1С).
    • 🔄 Ограничивайте количество загружаемых писем за один сеанс (например, не более 50 писем за раз).
    • 🔄 Настройте логирование ошибок в отдельный файл или журнал регистрации.
    • 🔄 Для больших вложений (более 10 МБ) используйте потоковую загрузку, чтобы не перегружать память.

    Типичные ошибки и их решения:

    Ситуация Причина Решение
    Письма загружаются очень медленно Большой объём вложений или медленный сервер Настройте фильтр по дате (например, загружать письма не старше 7 дней)
    1С "подвисает" при проверке почты Блокировка основного потока Перенесите обработку почты в фоновое задание или используйте АсинхронныеВызовСервера
    Письма дублируются в базе Ошибка в логике сохранения или сбой синхронизации Добавьте проверку на существование письма по Message-ID перед сохранением
    Не приходят уведомления о новых письмах Не настроен триггер или фоновое задание Проверьте расписание в Планировщике заданий

    7. Альтернативные способы интеграции почты

    Если стандартные механизмы 1С не подходят (например, для работы с API Яндекс.Почты или Gmail API), рассмотрите альтернативные варианты:

    1. Внешние обработки и расширения

    • 📥 1C:EDT + REST API — создание кастомизированного решения с использованием HTTP-сервисов.
    • 📥 Аддон "Почта Pro" (от фирмы "1С-Рарус") — расширенный функционал для работы с почтой, включая OAuth 2.0.
    • 📥 OneScript.Mail — библиотека для гибкой работы с почтовыми протоколами.

    2. Облачные сервисы

    • ☁️ 1С:Линк — интеграция с почтой через облачный коннектор.
    • ☁️ Make (ex-Integromat) — автоматизация обмена данными между 1С и почтовыми сервисами.
    • ☁️ Zapier — простые сценарии для небольших компаний (например, сохранение писем в 1С из Gmail).

    3. Прямая работа с API почтовых сервисов

    Для максимальной гибкости можно написать обработку, которая взаимодействует с API почтового сервиса напрямую. Например, для Yandex API:

    Адрес = "https://api3.normal.yandex.net/1.0/oauth/token";
    

    Запрос = Новый HTTPЗапрос(Адрес);

    Запрос.УстановитьТекст("grant_type=refresh_token&refresh_token=REFRESH_TOKEN&client_id=CLIENT_ID&client_secret=CLIENT_SECRET");

    Ответ = Новый HTTPСоединение(Адрес);

    Ответ.ОтправитьДляОбработки(Запрос);

    Токен = JSON.Прочитать(Ответ.ПолучитьТекст()).access_token;

    8. Безопасность при работе с почтой в 1С

    Интеграция почты с 1С требует особого внимания к безопасности, так как в базе могут храниться:

    • 🔐 Логины и пароли от почтовых ящиков.
    • 🔐 Конфиденциальные вложения (договоры, счета, перс. данные).
    • 🔐 История переписки с клиентами.

    Рекомендации по защите:

    • 🔒 Храните пароли в зашифрованном виде (используйте ХранилищеПараметров или 1С:Хранилище настроек).
    • 🔒 Настройте двухфакторную аутентификацию для почтовых ящиков, интегрированных с 1С.
    • 🔒 Ограничьте права доступа к справочнику Профили почты (только администраторы).
    • 🔒 Регулярно обновляйте 1С:Предприятие и OpenSSL (актуально для версий ниже 8.3.20).

    Пример безопасного хранения пароля:

    Хранилище = Новый ХранилищеПараметровСеанса("ПочтовыеНастройки");
    

    Хранилище.УстановитьПараметр("SMTP_Пароль", ЗашифроватьСтрокуВнутр(Пароль, "пароль_для_шифрования"));

    ⚠️ Внимание: Если вы используете Gmail или Yandex с интеграцией в 1С, обязательно настройте пароли приложений вместо основного пароля от ящика. Это позволит отзывать доступ к 1С без смены основного пароля.

    FAQ: Частые вопросы по работе с почтой в 1С

    Как настроить получение почты в 1С:Бухгалтерии 3.0?

    В типовой конфигурации 1С:Бухгалтерия 3.0 нет встроенного функционала для получения почты. Вам потребуется:

    1. Подключить внешнюю обработку (например, ПолучениеПочты.epf из дистрибутива 1С).
    2. Либо доработать конфигурацию, добавив объекты ПрофилиПочты и ИнтернетПочта из других конфигураций (например, 1С:Документооборот).
    3. Настроить фоновое задание для периодической проверки почты.

    Готовое решение можно найти в базе решений ИТС (поиск по запросу "интеграция почты бухгалтерия").

    Почему 1С не видит новые письма на IMAP-сервере?

    Причины могут быть следующими:

    • 🔹 Письма попадают в папку Спам или другую, а не в INBOX.
    • 🔹 В настройках профиля указан неверный префикс папок (например, для Yandex нужно указать INBOX. перед именем папки).
    • 🔹 На сервере включена фильтрация по IP, и адрес вашего сервера 1С заблокирован.
    • 🔹 В 1С настроен фильтр по дате, и новые письма не попадают в выборку.

    Проверьте настройки через сторонний клиент (например, Outlook или Thunderbird), чтобы убедиться, что письма действительно приходят на сервер.

    Можно ли отправлять письма с вложениями больше 10 МБ?

    Да, но есть нюансы:

    • 📎 Большинство почтовых сервисов ограничивают размер вложений (например, Gmail — 25 МБ, Yandex — 30 МБ).
    • 📎 В 1С при отправке больших файлов может возникать ошибка Недостаточно памяти. В этом случае:
      • Разбейте файл на части (архивы по 5-10 МБ).
      • Используйте облачное хранилище (например, загрузите файл в Яндекс.Диск и отправьте ссылку).
      • Настройте потоковую отправку через HTTPЗапрос (требуется доработка).
    Как автоматизировать ответы на письма в 1С?

    Для автоматических ответов можно использовать:

    1. Шаблоны писем: создайте шаблоны в справочнике Шаблоны писем и настройте правила отправки.
    2. Бизнес-процессы: в 1С:Документооборот настройте маршруты согласования с уведомлениями по email.
    3. Скрипты на языке 1С: например, при поступлении письма с темой "Запрос баланса" автоматически отправлять ответ с выпиской:
    Если НРег(Письмо.Тема) Содержит "запрос баланса" Тогда
    

    Ответ = Новый СообщениеЭлектроннойПочты;

    Ответ.Адресат = Письмо.Отправитель;

    Ответ.Тема = "Выписка по вашему запросу";

    Ответ.Текст = ПолучитьВыпискуПоКлиенту(Письмо.Отправитель);

    Ответ.Вложения.Добавить(ПолучитьФайлВыписки());

    Почта.Отправить(Ответ);

    КонецЕсли;

    Какие есть ограничения при работе с почтой в облачной 1С?

    В 1С:Fresh и других облачных решениях:

    • 🌥 Нет прямого доступа к HTTPСоединение (запрещены внешние запросы).
    • 🌥 Для работы с почтой нужно использовать внешние сервисы (например, 1С:Линк или Make).
    • 🌥 Ограничен функционал ФоновыеЗадания (нельзя настроить произвольное расписание).
    • 🌥 Для SMTP/IMAP требуется белый IP-адрес (в некоторых тарифах не предоставляется).

    Рекомендуем уточнять актуальные ограничения у вашего провайдера облачных услуг 1С.