Отправка уведомлений из 1С:Предприятие на электронную почту — критически важный инструмент для автоматизации бизнес-процессов. Без правильной настройки вы рискуете пропустить важные события: просроченные платежи, ошибки в документах или сигналы от системы мониторинга. В этой статье разберём все этапы — от базовой конфигурации почтового клиента до тонких настроек для конкретных типов уведомлений (бухгалтерских, складских, кадровых).
Особое внимание уделим двум ключевым сценариям: массовой рассылке отчётов (например, ежедневных сводок по продажам) и триггерным уведомлениям (срабатывающим при определённых условиях, как превышение лимита кредита контрагента). Все инструкции актуальны для последних версий платформы 1С 8.3, включая облачные решения.
Если вы администратор системы, после прочтения сможете настроить уведомления за 20-30 минут. Бухгалтерам и руководителям подскажем, какие именно события стоит отслеживать через email, чтобы не пропустить критические моменты в работе.
1. Подготовка: что нужно знать перед настройкой
Прежде чем приступать к технической части, определитесь с тремя ключевыми параметрами:
- 📌 Тип почтового сервера: будете ли вы использовать корпоративный Exchange, общедоступные сервисы (Gmail, Yandex, Mail.ru) или специализированные решения для 1С (например, 1С:Почта). От этого зависит выбор протокола (
SMTP,IMAP) и параметры безопасности. - 🔒 Уровень безопасности: некоторые почтовые сервисы (например, Gmail) требуют включения
Less secure app accessили создания приложения-пароля для сторонних программ. Без этого 1С не сможет подключиться. - 📊 Объём рассылок: если планируете отправлять более 500 писем в день, проверьте лимиты вашего почтового провайдера. Например, Yandex блокирует аккаунты при превышении 1000 писем/сутки.
Также учтите, что в облачных версиях 1С (например, 1С:Фреш) настройки почты могут отличаться — часть параметров управляется через личный кабинет провайдера, а не напрямую в конфигураторе. Если вы работаете с самостоятельной установкой 1С на сервере, потребуются права администратора для редактирования конфигурации.
⚠️ Внимание: Если ваша компания использует Microsoft 365 с двухфакторной аутентификацией (2FA), стандартный пароль от почты не подойдёт. Необходимо создать приложение-пароль в панели управления Microsoft или использовать OAuth 2.0 (доступно в 1С начиная с версии 8.3.20).
2. Настройка почтового профиля в 1С
Первый шаг — создание почтового профиля, через который будут отправляться уведомления. Для этого:
- Откройте 1С:Предприятие в режиме
Конфигуратор(для этого при запуске удерживайте клавишуShift). - Перейдите в меню
Администрирование → Почта и взаимодействия → Почта (настройки). - Нажмите
Создатьи выберите тип профиля:SMTP(для исходящих писем) илиIMAP/POP3(если нужно также принимать письма).
Заполните поля согласно параметрам вашего почтового сервера. Пример для Gmail:
| Параметр | Значение для Gmail | Значение для Yandex |
|---|---|---|
| Сервер исходящей почты (SMTP) | smtp.gmail.com |
smtp.yandex.ru |
| Порт | 587 (с TLS) или 465 (с SSL) |
465 (SSL) |
| Логин | Полный email (например, user@gmail.com) |
Полный email (например, user@yandex.ru) |
| Пароль | Приложение-пароль (если включена 2FA) | Обычный пароль или приложение-пароль |
| Требуется аутентификация | Да | Да |
После заполнения нажмите Проверить соединение. Если тест провален, проверьте:
- 🔌 Правильность порта и протокола безопасности (
TLS/SSL). - 🔐 Настройки брандмауэра/антивируса — они могут блокировать исходящие соединения на порты
465/587. - 📧 Разрешения в почтовом аккаунте (например, в Gmail должен быть включён доступ для "ненадёжных приложений" или создан приложение-пароль).
☑️ Проверка почтового профиля
3. Создание шаблонов уведомлений
Чтобы уведомления выглядели профессионально и содержали всю необходимую информацию, используйте шаблоны писем. В 1С они настраиваются через механизм Печатные формы или Макеты.
Пример создания шаблона для уведомления о просроченной дебиторской задолженности:
- Перейдите в
Администрирование → Печатные формы, отчёты и обработки → Макеты. - Создайте новый макет с типом
Текстовый документ. - В редакторе введите текст шаблона с использованием плейсхолдеров (заполнителей), например:
Уважаемый #Контрагент#!Напоминаем, что у вас просрочена задолженность на сумму #СуммаДолга# руб.
Срок оплаты истёк #ДниПросрочки# дней назад.
Подробности в документе №#НомерДокумента# от #ДатаДокумента#.
С уважением, бухгалтерия компании #НашаОрганизация#.
- Сохраните макет под именем, например,
Уведомление_О_Pросрочке.
Для динамического заполнения плейсхолдеров (#Контрагент#, #СуммаДолга#) используйте выражения на встроенном языке 1С. Пример кода для формирования письма:
ТекстПисьма = ПолучитьМакет("Уведомление_О_Pросрочке");
ТекстПисьма.Параметры.Вставить("Контрагент", Документ.Контрагент.Наименование);
ТекстПисьма.Параметры.Вставить("СуммаДолга", Формат(Документ.СуммаДолга, "ЧДЦ=2"));
// ... другие параметры
ОтправкаПисьма.Текст = ТекстПисьма.ПолучитьТекст();
Критичный нюанс: если в шаблоне используются спецсимволы (например, знаки валюты или кавычки), убедитесь, что кодировка макета совпадает с кодировкой почтового клиента. Иначе вместо "₽" может отобразиться "?".
4. Автоматизация отправки: события и триггеры
Уведомления можно отправлять вручную или автоматически по событиям. Рассмотрим оба варианта.
4.1. Ручная отправка
Подходит для разовых рассылок, например, еженедельных отчётов. Для этого:
- Откройте нужный документ (например,
Реализация товаров и услуг). - В меню документа выберите
Действия → Отправить по почте. - Укажите получателя, тему и прикрепите шаблон (если он настроен).
4.2. Автоматическая отправка по триггерам
Для автоматической отправки используйте регламентные задания или подписки на события. Пример настройки регламентного задания для ежедневной отправки сводки по продажам:
- Перейдите в
Администрирование → Регламентные и фоновые задания. - Создайте новое задание с типом
Выполнить код. - В поле
Кодвставьте скрипт:Процедура Выполнить() ЭкспортОтчёт = ПолучитьОтчётПоПродажам();
ТекстПисьма = СформироватьТекстПисьма(Отчёт);
Почта.ОтправитьПисьмо(
Получатели = "director@company.ru; accountant@company.ru",
Тема = "Сводка по продажам за " + ТекущаяДата(),
Текст = ТекстПисьма,
Вложения = Отчёт.СохранитьВоВременныйФайл()
);
КонецПроцедуры
- Установите расписание (например, ежедневно в 18:00).
Для триггерных уведомлений (например, при превышении кредитного лимита) используйте подписки на события в модулях объектов. Пример кода для документа Заказ покупателя:
Процедура ПриЗаписи(Отказ)
Если СуммаДокумента > Контрагент.КредитныйЛимит Тогда
Текст = "Превышен кредитный лимит для " + Контрагент.Наименование;
Почта.ОтправитьПисьмо(
Получатели = "credit@company.ru",
Тема = "Предупреждение: превышен кредитный лимит",
Текст = Текст
);
КонецЕсли;
КонецПроцедуры
⚠️ Внимание: Автоматические уведомления, отправляемые через регламентные задания, выполняются от имени пользователя, под которым запущен сервис 1С:Предприятие. Убедитесь, что у этого пользователя есть права на доступ к почтовому профилю и документам, которые упоминаются в уведомлениях.
Для отладки автоматических уведомлений используйте Журнал регистрации (меню Администрирование → Журналы → Журнал регистрации). Здесь можно проверить, срабатывал ли триггер и какие ошибки возникли при отправке.
5. Типичные ошибки и их решения
Даже при правильной настройке почтового профиля уведомления могут не отправляться. Рассмотрим самые распространённые проблемы и способы их устранения.
| Ошибка | Возможная причина | Решение |
|---|---|---|
Ошибка аутентификации (535) |
Неверный пароль или логин, включена 2FA без приложения-пароля. | Проверьте данные для входа. Для Gmail/Yandex с 2FA создайте приложение-пароль. |
Соединение не установлено (10060) |
Брандмауэр или антивирус блокирует порт 465/587. |
Добавьте исключение для ragent.exe (процесс 1С) в настройках безопасности. |
Превышен лимит писем |
Почтовый сервис ограничивает количество писем в день. | Разбейте рассылку на части или используйте специализированные сервисы (например, SendPulse). |
| Письма уходят в спам | Нет SPF/DKIM записей для домена или подозрительный контент. | Настройте SPF и DKIM в DNS домена. Избегайте слов "срочно", "долг" в теме письма. |
| Пустое тело письма | Ошибка в шаблоне или не переданы параметры. | Проверьте синтаксис плейсхолдеров (#Параметр#) и код формирования письма. |
Если ошибка не устраняется, включите протоколирование почты в настройках 1С:
- Откройте
Администрирование → Почта и взаимодействия → Настройки почты. - Установите флаг
Вести журнал отправки писем. - Повторите отправку и проверьте лог в
Администрирование → Журналы → Журнал почты.
Как прочитать журнал почты 1С?
В журнале отображаются все попытки отправки с указанием статуса, времени и текста ошибки (если она была). Ищите строки с статусом "Ошибка" — в них будет подробное описание проблемы, включая код ошибки SMTP-сервера (например, 550 — адрес получателя не существует, 552 — превышен размер письма).
6. Расширенные возможности: фильтры, вложения, HTML-письма
Базовая настройка позволяет отправлять текстовые уведомления, но 1С поддерживает и более сложные сценарии.
6.1. Отправка вложений
Чтобы прикрепить файл к письму (например, PDF-версию счёта), используйте метод ДобавитьВложение:
Письмо = Новый ПочтовоеСообщение;
Письмо.Текст = "Добрый день! Вложение: счёт на оплату.";
Письмо.ДобавитьВложение(Новый Файл("C:\Счета\счет_123.pdf"));
Почта.Отправить(Письмо);
6.2. HTML-письма с форматированием
Для оформления писем с логотипом, цветами и таблицами используйте HTML. Пример шаблона:
<html>
<body>
<div>
<img src="cid:logo" width="200" />
<h2>Уведомление о заказе №#НомерЗаказа#</h2>
<table border="1">
<tr><td>Товар</td><td>Количество</td></tr>
#ТаблицаТоваров#
</table>
</div>
</body>
</html>
Чтобы вставить логотип, добавьте его как вложение с указанием Content-ID:
Письмо.ДобавитьВложение(
Новый Файл("C:\Brand\logo.png"),
"image/png",
"logo" // Content-ID для вставки в HTML через cid:logo
);
6.3. Фильтрация получателей
Чтобы отправлять уведомления только определённым сотрудникам (например, только руководителям отделов), используйте группы пользователей или роли:
Если Пользователь.Группа = Перечисление.ГруппыПользователей.Руководители Тогда
Почта.ОтправитьПисьмо(Получатели = "managers@company.ru", ...);
КонецЕсли;
Для массовых рассылок (более 100 писем) рекомендуется использовать специализированные сервисы (например, 1С:Рассылка или UniSender), интегрированные с 1С. Это позволит избежать попадания в спам и упростит управление подписками.
7. Безопасность и оптимизация
При настройке почтовых уведомлений учитывайте не только функциональность, но и безопасность:
- 🔐 Шифрование: всегда используйте
TLSилиSSLдля соединения с почтовым сервером. Никогда не отправляйте данные по незащищённому протоколу. - 📜 Логирование: ведите журнал отправленных писем (включите опцию в настройках почты), но не храните в нём конфиденциальные данные (пароли, номера документов с персональной информацией).
- 🚫 Ограничение прав: настройте права доступа так, чтобы только авторизованные пользователи могли отправлять уведомления от имени компании.
- 📧 Резервный почтовый канал: если основной SMTP-сервер недоступен, настройте резервный профиль (например, через Yandex как запасной вариант).
Для оптимизации работы системы:
- 🕒 Расписание: отправляйте массовые уведомления в непиковые часы (например, ночью), чтобы не нагружать сервер.
- 🗑️ Очистка логов: регулярно архивируйте и удаляйте старые записи из журнала почты, чтобы не раздувать базу.
- 📊 Мониторинг: используйте
Журнал регистрациидля отслеживания ошибок отправки и их оперативного устранения.
⚠️ Внимание: Если ваша компания работает с персональными данными (ФИО, паспортные данные, адреса), убедитесь, что почтовые уведомления соответствуют требованиям 152-ФЗ "О персональных данных". В частности, не включайте конфиденциальную информацию в тему письма и используйте шифрование вложений (например, ZIP с паролем).
FAQ: Частые вопросы по настройке уведомлений
Как проверить, ушло ли письмо из 1С?
Есть три способа:
- Проверьте
Журнал почтыв 1С (Администрирование → Журналы → Журнал почты). - Загляните в папку "Отправленные" на почтовом сервере, если он поддерживает IMAP.
- Используйте внешние сервисы для отслеживания доставки (например, Mailtrack для Gmail).
Если письмо не дошло, проверьте папку "Спам" у получателя и настройки антиспам-фильтров.
Можно ли отправлять уведомления на Telegram вместо email?
Да, для этого нужно:
- Создать бота в Telegram через
@BotFatherи получить токен. - Написать обработку в 1С, которая отправляет сообщения через API Telegram:
Адрес = "https://api.telegram.org/bot[ТОКЕН]/sendMessage?chat_id=[ID_ЧАТА]&text=" + ТекстСообщения;HTTPСоединение = Новый HTTPСоединение(Адрес);
Ответ = HTTPСоединение.Получить();
Для массовых уведомлений лучше использовать специализированные модули, например, 1С:Telegram.
Почему письма из 1С приходят с задержкой?
Возможные причины:
- 🐢 Очередь отправки: если в 1С настроена очередь писем, они могут отправляться пачками (например, раз в час).
- 🌐 Проблемы на стороне почтового сервера: проверьте статус сервиса (например, статус Gmail).
- 📡 Медленный интернет-канал: если сервер 1С находится в локальной сети с низкой скоростью, отправка может тормозиться.
- ⚙️ Ограничения регламентных заданий: если уведомления отправляются через задание, проверьте его расписание.
Для диагностики включите подробное логирование в настройках почты 1С.
Как настроить уведомления для облачной 1С (1С:Фреш)?
В 1С:Фреш почтовые настройки управляются через личный кабинет:
- Авторизуйтесь на
https://fresh.1c.ru. - Перейдите в раздел
Почтаи добавьте почтовый ящик. - В настройках укажите SMTP-сервер и credentials (для Gmail потребуется приложение-пароль).
- В самой 1С выберите созданный профиль в настройках уведомлений.
Обратите внимание: в облаке некоторые функции (например, кастомизация шаблонов) могут быть ограничены.
Можно ли отправлять уведомления на несколько адресов одновременно?
Да, для этого:
- Укажите несколько адресов через запятую в поле
Получатели:Почта.ОтправитьПисьмо(Получатели = "user1@company.ru, user2@company.ru",
Тема = "Уведомление",
Текст = "Текст письма"
);
- Или используйте группы рассылки (настраиваются в почтовом профиле 1С).
Для массовых рассылок (более 20 адресатов) лучше использовать Массовую рассылку через обработку.