Отправка электронных писем напрямую из 1С:Предприятие экономит время сотрудников, автоматизирует рассылку документов клиентам и партнёрам, а также снижает риск ошибок при ручном вводе адресов. Однако неправильная настройка почтового сервера может привести к тому, что письма будут уходить в спам, теряться или вообще не отправляться. В этой статье разберём все способы настройки отправки писем из 1С 8.3 — от базовой конфигурации SMTP до интеграции с Microsoft Exchange и Yandex Connect.
Особое внимание уделим типичным ошибкам, которые возникают при настройке (например, Ошибка аутентификации 535 или Не удалось подключиться к серверу), и покажем, как их исправить. Также рассмотрим, как настроить шифрование TLS, работу с вложениями и массовую рассылку через ПланыОбмена. Если вы администрируете 1С или занимаетесь её доработками, эта инструкция поможет избежать часов дебаггинга и сэкономить нервы.
1. Подготовка к настройке: что нужно знать до начала
Прежде чем приступать к настройке, убедитесь, что у вас есть:
- 🔑 Логин и пароль от почтового ящика, с которого будут отправляться письма (например,
info@ваша-компания.ru). - 📡 Данные почтового сервера: адрес SMTP-сервера, порт, тип шифрования (SSL/TLS или STARTTLS).
- 🛡️ Права администратора в 1С:Предприятие для изменения конфигурации (если требуется доработка).
- 📋 Список получателей (если планируется массовая рассылка).
Если вы используете корпоративную почту (например, на базе Microsoft 365 или Yandex Connect), проверьте, не блокирует ли ваш IT-отдел отправку писем из сторонних приложений. Часто для этого требуется:
- 🔓 Включить опцию
Less secure app access(для Gmail — устаревший метод, но иногда ещё встречается). - 🔐 Сгенерировать пароль приложения (для Yandex или Mail.ru при двухфакторной аутентификации).
- ☁️ Настроить
SPF,DKIMиDMARCзаписи в DNS домена, чтобы письма не попадали в спам.
Важно: Если вы настраиваете отправку с Gmail, учитывайте, что с 2022 года Google блокирует доступ по протоколу SMTP для аккаунтов с включённой двухфакторной аутентификацией. В этом случае придётся либо отключать 2FA (не рекомендуется), либо использовать пароль приложения.
⚠️ Внимание: Настройки почтовых серверов могут меняться. Например, Mail.ru периодически обновляет порты для SMTP. Перед настройкой уточните актуальные параметры в документации вашего почтового провайдера или в личном кабинете.
2. Базовая настройка SMTP в 1С 8.3
Самый простой способ отправить письмо из 1С — использовать встроенный функционал SMTP-клиента. Для этого:
- Откройте
Администрирование → Настройки программы → Почта и обмен. - Выберите
Настройка почтыи нажмитеСоздать. - Укажите:
- 📧 Адрес электронной почты (например,
orders@company.ru). - 🔗 SMTP-сервер (например,
smtp.yandex.ruдля Yandex). - 🔢 Порт (обычно
465для SSL или587для TLS). - 🔒 Тип шифрования (SSL или TLS).
- 👤 Логин и пароль (если требуется аутентификация).
- 📧 Адрес электронной почты (например,
- Сохраните настройки и проверьте подключение кнопкой
Проверить соединение. - ❌ Нет возможности прикрепить произвольные файлы (только печатные формы документов).
- ❌ Не поддерживаются HTML-письма (только текст).
- ❌ Нет логов отправки (при ошибке сложно диагностировать проблему).
SecureConnection— включает SSL/TLS (обязательно для большинства серверов).Auth— требует аутентификации (обычноИстина).Port— должен соответствовать протоколу (например,587для STARTTLS).- 📤 Папку
Отправленныев почтовом ящике — возможно, письмо ушло, но застряло на сервере. - 🗑️ Папку
Спаму получателя (особенно если домен новый или IP-адрес в чёрных списках). - 🔍 Логи почтового сервера (если есть доступ) — там может быть причина блокировки.
- В
Администрирование → Настройки программы → Почта и обменсоздайте новый почтовый ящик. - Выберите тип
IMAPи укажите:- 📧 Сервер входящей почты (например,
imap.yandex.ru). - 🔢 Порт (
993для SSL). - 👤 Логин и пароль (те же, что для SMTP).
- 📧 Сервер входящей почты (например,
- Настройте
Правила обработки писем(например, автоматическое создание заказа при получении письма с темой "Заказ №..."). - 🔄 Регулярно синхронизировать папки (иначе новые письма не будут видны).
- 🗃️ Не удалять письма напрямую из 1С, если они должны храниться на сервере.
- 🛡️ Использовать SSL/TLS для защиты данных.
- Создайте
ПланОбменас типомЭлектроннаяПочта. - Настройте
Узлы(почтовые адреса получателей). - Создайте
Обработку, которая будет формировать письма и добавлять их в план обмена. - Запустите
ВыполнитьОбмендля отправки. - ✅ Возможность отслеживать статус отправки для каждого письма.
- ✅ Автоматическое повторение отправки при ошибках.
- ✅ Интеграция с бизнес-процессами (например, отправка писем после проведения документа).
- Включите
Журнал регистрациив 1С (Администрирование → Журналы регистрации). - Добавьте события
ПочтаиОшибкив настройки журнала. - При ошибке отправки проверьте логи по фильтру
Почта. SMTP: 250 OK— письмо принято сервером.SMTP: 550 Relay not permitted— сервер не разрешает отправку с вашего IP.Authentication failed— неверный логин/пароль или блокировка аккаунта.- 🔍 Wireshark — для анализа сетевого трафика между 1С и почтовым сервером.
- 📡 SMTP-логгеры (например, PaperCut или MailEnable) — для записи всех SMTP-команд.
- 📊 MXToolbox — для проверки чёрных списков и DNS-записей домена.
- Если у вас обычный аккаунт Gmail, нужно включить опцию
Less secure app access(устаревает) или использовать пароль приложения. - Если у вас Google Workspace, требуется настроить
SMTP relayв админке или использовать OAuth 2.0. - Порт:
465(SSL) или587(TLS). - 📛 Отсутствуют
SPF,DKIMилиDMARCзаписи в DNS домена. - 🏷️ Адрес "От кого" не совпадает с доменом SMTP-сервера (например, отправляете с
info@company.ru, но серверsmtp.mail.ru). - 📤 IP-адрес вашего сервера в чёрных списках (проверьте на MXToolbox).
- 📧 Текст письма содержит спам-триггеры (слова "бесплатно", "акция", много восклицательных знаков).
- Через стандартный интерфейс: в документе (например, счёте) нажмите
Отправить по email— 1С автоматически прикрепит печатную форму. - Через код: используйте объект
ВложениеЭлектроннойПочты(пример есть в разделе 3). - 🔌 Использовать анонимный SMTP (например, локальный Postfix на сервере 1С).
- 🔑 Настроить IP-авторизацию (если почтовый сервер разрешает отправку с определённых IP без пароля).
- 🔄 Использовать OAuth 2.0 (более безопасно, чем пароли).
- Через обработку проведения: в модуле документа добавьте код отправки письма после
Провести(). - Через бизнес-процесс: настройте
Правилов 1С, которое будет запускать отправку при изменении статуса документа. - Через план обмена: добавьте документ в
ПланОбменас типомЭлектроннаяПочта.
Если тест прошёл успешно, можно отправлять письма прямо из документов (например, счётов или актов) через кнопку Отправить по email. Однако у этого метода есть ограничения:
Указан корректный SMTP-сервер (без опечаток)|
Порт соответствует типу шифрования (465 для SSL, 587 для TLS)|
Логин введён полностью (например, info@domain.ru, а не просто info)|
Пароль введён без пробелов и спецсимволов (если требуется)|
Включена опция "Требуется аутентификация"-->
Для расширенных возможностей (вложения, шаблоны, логи) потребуется программная настройка через встроенный язык 1С. Об этом — в следующем разделе.
3. Программная отправка писем: код и примеры
Если стандартных средств 1С недостаточно, можно написать собственный код для отправки писем. Например, так отправляется письмо с вложением:
// Пример кода для отправки письма с вложением
Попытка
Почта = Новый Почта;
Сообщение = Новый СообщениеЭлектроннойПочты;
Сообщение.Текст = "Добрый день! Вложение: счёт на оплату.";
Сообщение.Тема = "Счёт №123 от 01.06.2026";
Сообщение.Отправитель = "info@company.ru";
Сообщение.Получатели.Добавить("client@mail.ru");
// Добавляем вложение (например, печатную форму документа)
Вложение = Новый ВложениеЭлектроннойПочты("C:\Temp\Счет_123.pdf", "Счет_123.pdf");
Сообщение.Вложения.Добавить(Вложение);
// Настройки SMTP
ПараметрыSMTP = Новый Структура;
ПараметрыSMTP.Вставить("Server", "smtp.yandex.ru");
ПараметрыSMTP.Вставить("Port", 465);
ПараметрыSMTP.Вставить("SecureConnection", Истина); // SSL
ПараметрыSMTP.Вставить("Auth", Истина);
ПараметрыSMTP.Вставить("User", "info@company.ru");
ПараметрыSMTP.Вставить("Pwd", "ваш_пароль");
Почта.Отправить(Сообщение, ПараметрыSMTP);
Сообщить("Письмо отправлено успешно!");
Исключение
Сообщить("Ошибка отправки: " + ОписаниеОшибки());
КонецПопытки;
Этот код можно вставить в обработку кнопки или вызвать из ПланаОбмена для массовой рассылки. Обратите внимание на ключевые параметры:
Критическая деталь: если вы используете Gmail или Yandex с двухфакторной аутентификацией, обычный пароль не подойдёт. Нужно сгенерировать пароль приложения в настройках аккаунта и использовать его в коде вместо основного пароля.
Пароль = Новый ЗащищеннаяСтрока("ВашПароль");-->
4. Типичные ошибки и их решения
При настройке отправки писем из 1С чаще всего возникают следующие ошибки:
| Ошибка | Причина | Решение |
|---|---|---|
Ошибка аутентификации (535) |
Неверный логин/пароль или блокировка по IP | Проверьте пароль, включите "Less secure apps" (для Gmail) или сгенерируйте пароль приложения |
Не удалось подключиться к серверу |
Неправильный адрес SMTP или порт, блокировка фаерволом | Уточните настройки у провайдера, проверьте антивирус/фаервол |
Отказ в доступе (550) |
SPF/DKIM не настроены, письмо расценено как спам | Настройте DNS-записи для домена, проверьте "От кого" в письме |
Timeout при подключении |
Сервер не отвечает или медленное соединение | Попробуйте другой порт (например, 25 вместо 465), проверьте интернет |
Если письма уходят, но не доходят до получателя, проверьте:
⚠️ Внимание: Если вы используете Microsoft Exchange Online (Office 365), для отправки из 1С может потребоваться создать коннектор в админке Exchange. Без него письма будут блокироваться как неавторизованные. Инструкция по настройке коннектора есть в документации Microsoft.
5. Настройка IMAP для приёма писем в 1С
Если нужно не только отправлять, но и получать письма в 1С (например, для автоматической обработки заказов из почты), потребуется настроить IMAP. Для этого:
Пример кода для чтения писем по IMAP:
Почта = Новый Почта;
ПараметрыIMAP = Новый Структура;
ПараметрыIMAP.Вставить("Server", "imap.yandex.ru");
ПараметрыIMAP.Вставить("Port", 993);
ПараметрыIMAP.Вставить("SecureConnection", Истина);
ПараметрыIMAP.Вставить("User", "info@company.ru");
ПараметрыIMAP.Вставить("Pwd", "ваш_пароль");
Сообщения = Почта.ПолучитьСообщения(ПараметрыIMAP);
Для Каждого Сообщение Из Сообщения Цикл
Сообщить("Тема: " + Сообщение.Тема);
Сообщить("От: " + Сообщение.Отправитель);
Сообщить("Текст: " + Сообщение.Текст);
КонецЦикла;
Обратите внимание: при работе с IMAP важно:
6. Интеграция с Microsoft Exchange и Yandex Connect
Для корпоративных пользователей Microsoft 365 или Yandex Connect есть более надёжные способы интеграции, чем стандартный SMTP/IMAP:
Microsoft Exchange (Office 365)
Используйте Exchange Web Services (EWS) или Microsoft Graph API. Пример подключения через EWS:
// Подключение к Exchange через EWS
Попытка
Service = Новый WSПрокси("https://outlook.office365.com/EWS/Exchange.asmx",
"ExchangeServices",
"http://schemas.microsoft.com/exchange/services/2006/messages");
Service.УстановитьЗаголовок("Authorization", "Basic " + Base64Строка("user@domain.ru:password"));
// Пример: отправка письма
Запрос = Новый ЗапросEWS();
Запрос.Тема = "Тестовое письмо";
Запрос.Текст = "Это письмо отправлено из 1С через EWS";
Запрос.Отправитель = "user@domain.ru";
Запрос.Получатели.Добавить("recipient@mail.ru");
Ответ = Service.CreateItem(Запрос);
Сообщить("Письмо отправлено! ID: " + Ответ.ItemId);
Исключение
Сообщить("Ошибка: " + ОписаниеОшибки());
КонецПопытки;
Для Yandex Connect можно использовать OAuth 2.0 (более безопасно, чем пароли). Пример:
// Авторизация через OAuth 2.0 для Yandex
Токен = ПолучитьOAuthТокен("client_id", "client_secret", "refresh_token"); // Нужно предварительно зарегистрировать приложение
Заголовки = Новый Соответствие;
Заголовки.Вставить("Authorization", "Bearer " + Токен);
Заголовки.Вставить("Content-Type", "application/json");
ТелоЗапроса = JSON.Записать(Новый Структура("to,subject,text", "recipient@mail.ru","Тема","Текст письма"));
Ответ = HTTPСервис.ОтправитьJSON("https://api.connect.yandex.ru/v1/disk/email/send", Заголовки, ТелоЗапроса);
⚠️ Внимание: Для работы с Microsoft Graph API требуется зарегистрировать приложение в Azure AD и получитьclient_id,client_secret, а также праваMail.Send. Без этого доступ будет заблокирован.
7. Массовая рассылка и планы обмена
Если нужно отправлять письма большому количеству получателей (например, рассылка актов сверки), удобно использовать ПланыОбмена. Алгоритм:
Пример кода для массовой рассылки:
// Массовая рассылка через ПланОбмена
ПланОбмена = ПланыОбмена.ЭлектроннаяПочта;
Для Каждого Клиент Из СписокКлиентов Цикл
Сообщение = Новый СообщениеЭлектроннойПочты;
Сообщение.Тема = "Акт сверки по состоянию на " + ТекущаяДата();
Сообщение.Текст = "Уважаемый " + Клиент.Наименование + ", прилагаем акт сверки.";
Сообщение.Получатели.Добавить(Клиент.Email);
// Добавляем вложение (акт сверки)
Вложение = Новый ВложениеЭлектроннойПочты(ПутьКФайлуАкта, "Акт_Сверки_" + Клиент.Код + ".pdf");
Сообщение.Вложения.Добавить(Вложение);
ПланОбмена.ДобавитьСообщение(Сообщение);
КонецЦикла;
ПланОбмена.ВыполнитьОбмен();
Преимущества этого метода:
Для массовых рассылок обязательно настройте SPF, DKIM и DMARC для вашего домена. Без этого письма будут блокироваться или попадать в спам.
8. Логирование и отладка
Чтобы диагностировать проблемы с отправкой писем, настройте логирование. Для этого:
Типичные записи в логах и их значение:
Для глубокой отладки можно использовать внешние инструменты:
Как прочитать SMTP-лог в 1С?
В журнале регистрации ищите события с источником Почта. Например:
SMTP: EHLO [192.168.1.1] — начало сеанса,
SMTP: AUTH LOGIN — попытка аутентификации,
SMTP: 250 Mail accepted — письмо принято сервером.
Если видите SMTP: 5xx — это ошибка (500–599), требующая вмешательства.
FAQ: Частые вопросы по настройке писем в 1С
Можно ли отправлять письма с Gmail из 1С?
Да, но с оговорками:
Пример настроек для Gmail:
Сервер: smtp.gmail.com
Порт: 587
Шифрование: TLS
Логин: ваш_email@gmail.com
Пароль: пароль_приложения (не основной!)
Почему письма из 1С попадают в спам?
Основные причины:
Решение: настройте DNS-записи, используйте корпоративный SMTP-сервер и тестируйте письма через Mail-Tester.
Как отправить письмо с вложением из 1С?
Есть два способа:
Пример добавления вложения:
Вложение = Новый ВложениеЭлектроннойПочты("C:\Temp\Договор.pdf", "Договор_123.pdf");
Сообщение.Вложения.Добавить(Вложение);
Можно ли настроить отправку писем без пароля?
Технически да, но это небезопасно. Варианты:
Для корпоративных систем лучше избегать анонимной отправки — это повышает риск спам-атак.
Как автоматизировать отправку писем при проведении документа?
Способы автоматизации:
Пример кода для обработки проведения:
Процедура ПослеЗаписи(Отказ)
Если ЭтотОбъект.Проведен Тогда
ОтправитьПисьмоКлиенту(ЭтотОбъект.Контрагент.Email, ЭтотОбъект.Ссылка);
КонецЕсли;
КонецПроцедуры
Процедура ОтправитьПисьмоКлиенту(Email, СсылкаНаДокумент)
// Код отправки письма (см. раздел 3)
КонецПроцедуры