При массовой отправке расчетных листков из программы 1С:Зарплата и Управление Персоналом пользователи часто сталкиваются с тем, что почтовые сервисы (такие как Яндекс, Mail.ru или Gmail) начинают блокировать учетную запись отправителя. Основная причина кроется в антиспам-политиках: когда сервер видит сотни однотипных писем, уходящих за короткий промежуток времени, он помечает такую активность как подозрительную.
В этой статье мы подробно разберем, почему возникают эти ограничения, и рассмотрим несколько способов решения проблемы — от простых организационных мер до программной доработки системы с использованием расширений.
Давайте проанализируем ситуацию. Почтовые сервисы борются за чистоту входящего трафика. Если ваша программа 1С:ЗУП отправляет, к примеру, 260 писем за 20 минут, это означает, что сообщения уходят примерно каждые 4-5 секунд. Для алгоритмов Яндекса это выглядит как работа автоматизированного скрипта рассылки спама.
Основные факторы блокировки:
Ниже мы рассмотрим пошагово, как обойти эти ограничения.
Как выяснилось в ходе обсуждения, стандартная обработка 1С не имеет встроенной настройки паузы между письмами. Программа старается отправить весь пакет данных максимально быстро. Чтобы «обмануть» антиспам-фильтр, нам нужно заставить систему делать паузу. Рассмотрим, как это реализовать через расширение конфигурации.
Нам необходимо найти процедуру, отвечающую за отправку почты. Обычно это методы в общих модулях, связанных с почтовыми сообщениями (например, РаботаСПочтовымиСообщениями). Проанализируем код и добавим задержку. Автор темы экспериментальным путем определил, что пауза в 40 секунд позволяет полностью избежать блокировок.
Пример кода, который можно внедрить в процедуру цикла отправки писем:
&После("ОтправитьПочтовоеСообщение") // Или в цикле рассылки
Процедура ПриОтправкеКаждогоЛистка()
// Устанавливаем паузу в секундах
СекундПаузы = 40;
КонечнаяДата = ТекущаяДата() + СекундПаузы;
Пока ТекущаяДата() < КонечнаяДата Цикл
// Пустой цикл для ожидания или использование метода ПодключитьОбработчикОжидания
// В фоновых заданиях лучше использовать конструкцию ожидания через блокировку или пинг
КонецЦикла;
КонецПроцедуры
Важный момент: Чтобы основной сеанс пользователя не «висел» во время ожидания, рассылку рекомендуется запускать как ФоновоеЗадание. В этом случае сервер будет спокойно отправлять письма в фоновом режиме, соблюдая интервалы, а бухгалтер сможет продолжать работу в программе.
Если вы не хотите вносить изменения в программный код, можно воспользоваться организационным методом. Вместо того чтобы нажимать кнопку «Отправить всем», попробуем разделить сотрудников на группы.
Разберем этот процесс по шагам:
Подразделению.Этот способ требует больше времени от пользователя, но он эффективно снижает пиковую нагрузку на почтовый сервер и уменьшает риск попадания в бан.
Рассмотрим более современный и официальный путь. Фирма 1С предлагает специализированный сервис 1С:Кабинет сотрудника. Это решение кардинально меняет подход к выдаче расчетных листков.
Почему это лучше обычной почты?
Единственным минусом здесь является необходимость приобретения дополнительных лицензий, однако это полностью снимает технические проблемы с SMTP-серверами.
Если вы используете корпоративную почту на базе Яндекса (Яндекс 360), необходимо убедиться, что ваш домен настроен правильно. Если письма часто попадают в спам или блокируются, проверим следующие записи в DNS вашего домена:
include:_spf.yandex.net. Это говорит принимающему серверу, что Яндексу разрешено отправлять почту от вашего имени.p=none, чтобы отследить статистику доставок.Проанализируем также вариант с «пересылкой», предложенный в обсуждении. Можно создать внутренние учетные записи для всех сотрудников внутри вашего домена (например, user1@vash-domen.ru), отправлять расчетные листки на них (внутри домена лимиты обычно мягче), а на самих ящиках настроить автоматическую пересылку на личные почты сотрудников. Это сложнее в настройке, но может помочь обойти внешние фильтры.
Проблема блокировок при рассылке из 1С:ЗУП решается комплексным подходом. Для небольших компаний самым быстрым и дешевым решением будет внедрение небольшого таймаута (задержки) через расширение конфигурации. Если же компания крупная, стоит рассмотреть переход на 1С:Кабинет сотрудника, что избавит не только от технических проблем, но и от претензий со стороны трудовой инспекции.
Помните, что современные почтовые системы становятся все более строгими к автоматизированным рассылкам, поэтому использование личных ящиков (на @yandex.ru или @mail.ru) для бизнес-задач становится практически невозможным без соблюдения строгих интервалов и правил настройки почтового сервера.