Как организовать массовую почтовую рассылку из 1С после перехода с Google на Яндекс

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Многие компании в рамках импортозамещения переходят с зарубежных почтовых сервисов (таких как Google Workspace) на отечественные решения, в частности на Яндекс 360 для бизнеса. Однако при попытке сохранить привычную схему рассылки прайс-листов или уведомлений об остатках напрямую из 1С через SMTP-протокол, разработчики сталкиваются с жесткой модерацией. Яндекс ограничивает автоматическую отправку писем, часто помечая их как спам, даже если объем рассылки невелик (около 1000 адресов).

В этой статье мы разберем, почему стандартный SMTP Яндекса не подходит для этих целей, и проанализируем альтернативные способы реализации рассылок, которые позволят сохранить доменное имя отправителя и обеспечить высокую доставляемость писем.

Причина проблемы: Почему Яндекс блокирует рассылки из 1С?

Разберем ситуацию: технически авторизация в 1С проходит успешно (особенно если использовать пароль приложения), но после отправки первых нескольких десятков или сотен сообщений сервер начинает возвращать ошибки или письма просто не доходят. Выясним причину: почтовые фильтры Яндекса настроены на выявление транзакционного и маркетингового трафика в каналах, предназначенных для личной переписки. Даже при наличии бизнес-подписки, обычный SMTP-шлюз ожидает «человеческого» поведения. Массовая однотипная рассылка из 1С с одинаковыми вложениями (например, остатками) мгновенно триггерит антиспам-системы.

Решение 1: Использование специализированных SMTP-релеев

Проанализируем самый простой с точки зрения доработки 1С путь — использование внешних сервисов-рассыльщиков через их SMTP-интерфейс. Рассмотрим такие сервисы, как Unisender Go, SendPulse или DashaMail. Основное преимущество здесь в том, что в коде 1С нам достаточно изменить лишь параметры подключения к почтовому серверу.

Алгоритм действий будет следующим:

  1. Регистрируемся в сервисе и подтверждаем владение своим доменом (настройка записей SPF, DKIM и DMARC в панели управления DNS).
  2. Получаем настройки SMTP (адрес сервера, порт, логин и специальный API-ключ вместо пароля).
  3. В 1С настраиваем системную учетную запись почты с этими данными.

В коде 1С это выглядит стандартно для объекта ИнтернетПочтовыйПрофиль:


Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.АдресСервераSMTP = "smtp-pulse.com"; // Пример для SendPulse
Профиль.ПортSMTP = 465;
Профиль.ИспользоватьSSLSMTP = Истина;
Профиль.ПользовательSMTP = "vash-login@mail.ru";
Профиль.ПарольSMTP = "vash-api-key";
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.ПоЛогину;

Важный момент: такие сервисы позволяют подставлять ваш реальный доменный адрес в поле «Отправитель», если вы подтвердили права на домен в их панели управления. Это решает проблему узнаваемости писем для клиентов.

Решение 2: Переход на использование HTTP API

Если мы хотим уйти от капризного протокола SMTP, рассмотрим вариант интеграции через API. У Яндекса есть профессиональное облачное решение — Yandex Cloud Postbox (или использование методов Яндекс.Почты для домена через API). Отправка через API более надежна, так как позволяет получать расшифрованные ответы сервера о причинах отказа в приеме конкретного письма.

Посмотрим на пример структуры запроса к API (условно):


Соединение = Новый HTTPСоединение("api.service.ru", 443,,,,, Новый ЗащищенноеСоединениеOpenSSL());
Запрос = Новый HTTPЗапрос("/v1/send");
Запрос.Заголовки.Вставить("Content-Type", "application/json");
Запрос.Заголовки.Вставить("Authorization", "Bearer " + Токен);

// Формируем тело запроса в формате JSON
ПараметрыПисьма = Новый Структура;
ПараметрыПисьма.Вставить("from_email", "sales@client-domain.ru");
ПараметрыПисьма.Вставить("to", АдресПолучателя);
ПараметрыПисьма.Вставить("subject", "Актуальные остатки на " + ТекущаяДата());
ПараметрыПисьма.Вставить("html", ТекстПисьмаHTML);

Запрос.УстановитьТелоИзСтроки(СформироватьJSON(ПараметрыПисьма));
Ответ = Соединение.ОтправитьДляОбработки(Запрос);

Решение 3: Собственный почтовый шлюз (Postfix/Exim)

Для компаний, обладающих собственными серверными мощностями и системным администратором, хорошим вариантом станет поднятие собственного почтового сервера (например, Postfix на ОС Linux). В этом случае 1С будет отправлять письма на ваш внутренний сервер, который уже будет заниматься их очередностью и пересылкой в мир.

Разберем плюсы этого подхода:

Однако помните, что для успешной доставки писем с собственного сервера критически важно наличие статического IP-адреса с «чистой» репутацией и правильно настроенной PTR-записи (обратной зоны DNS).

Решение 4: «Пул ящиков» и распределение нагрузки

В качестве временного или бюджетного решения можно рассмотреть схему с распределением рассылки по нескольким почтовым ящикам. Если лимит одного ящика составляет, например, 150-200 писем в сутки до срабатывания фильтра, мы можем создать 5-10 технических ящиков (robot1@, robot2@ и т.д.).

Проанализируем логику реализации в 1С:

  1. Создаем справочник УчетныеЗаписиЭлектроннойПочты, куда вносим все созданные ящики.
  2. При запуске рассылки в цикле меняем учетную запись через каждые N писем.
  3. Чтобы клиент мог ответить на письмо, в поле АдресОтвета (Reply-To) всегда устанавливаем основной корпоративный адрес.

Пример кода смены профиля:


МассивПрофилей = ПолучитьСписокДоступныхУчетныхЗаписей();
Счетчик = 0;
ИндексПрофиля = 0;

Для Каждого Получатель Из СписокРассылки Цикл
    ТекущийПрофиль = МассивПрофилей[ИндексПрофиля];
    // Код отправки через ТекущийПрофиль...
    
    Счетчик = Счетчик + 1;
    Если Счетчик >= 100 Тогда // Меняем ящик каждые 100 писем
        Счетчик = 0;
        ИндексПрофиля = ИндексПрофиля + 1;
        Если ИндексПрофиля >= МассивПрофилей.Количество() Тогда
            ИндексПрофиля = 0;
        КонецЕсли;
    КонецЕсли;
КонецЦикла;

Важнейшая часть: Гигиена рассылок и настройки DNS

Независимо от выбранного способа (кроме, пожалуй, API крупных сервисов, которые берут часть забот на себя), ваша почта будет попадать в спам, если не настроены записи в DNS. Выясним, что должно быть прописано обязательно:

  1. SPF (Sender Policy Framework): Текстовая запись, указывающая, каким серверам разрешено отправлять почту от имени вашего домена. Если вы используете Яндекс и сторонний релей, в записи должны быть оба сервиса.
  2. DKIM (DomainKeys Identified Mail): Цифровая подпись письма. В панели Яндекс 360 необходимо скопировать ключ и вставить его в TXT-запись DNS. Это подтверждает, что письмо не было изменено в процессе доставки.
  3. DMARC: Политика, указывающая принимающему серверу, что делать с письмами, которые не прошли проверку SPF/DKIM. Начните с мягкой политики p=none.

Резюме: Переезд с Google на Яндекс для рассылок из 1С требует смены подхода. Стандартный SMTP Яндекса предназначен для офисной работы, а не для роботов. Для стабильной работы 1000+ писем в неделю рекомендуем использовать профессиональные SMTP-релеи или собственный почтовый шлюз с обязательной настройкой всех цифровых подписей домена.

← На главную