← На главную
Рассмотрим одну из самых неприятных ситуаций: еще вчера отправка почты из базы 1С работала как часы, а сегодня внезапно прекратилась. При этом проверка настроек учетной записи сообщает, что все в порядке и тестовое письмо успешно отправлено, но на самом деле никакие письма до получателей не доходят и в папке "Отправленные" на почтовом сервере их нет. Проанализируем, в чем могут быть причины и как их исправить.
Проблема может иметь несколько корней, от скрытых системных блокировок в самой 1С до изменений в политике безопасности вашего почтового провайдера. Разберем основные сценарии по порядку.
Решение 1: Проверка системного регистра заблокированных учетных записей
Это одна из самых неочевидных, но частых причин. В платформе 1С существует защитный механизм: если при попытке отправки или получения почты через определенную учетную запись возникает ошибка (например, не найден вложенный файл, сервер временно недоступен), система может временно заблокировать эту учетную запись, чтобы не создавать лишнюю нагрузку. Информация о блокировке помещается в специальный регистр.
Ключевой объект: системный регистр сведений РегистрСведений.ЗаблокированныеДляПолученияУчетныеЗаписи. Несмотря на название, он может влиять и на отправку.
Как это работает:
- Система пытается отправить письмо, но сталкивается с ошибкой (например, битое вложение).
- Ошибка фиксируется, и учетная запись попадает в регистр заблокированных.
- Все последующие письма, которые должны быть отправлены с этой учетной записи, просто игнорируются системой. Отправка не происходит, но и явных ошибок вы не видите.
- По умолчанию, запись о блокировке удаляется регламентным заданием через определенный промежуток времени (например, час). Но если первопричина ошибки не устранена, блокировка может произойти снова.
Что делать:
- Откройте регистр сведений
РегистрСведений.ЗаблокированныеДляПолученияУчетныеЗаписи через меню "Все функции".
- Проверьте, нет ли в нем записи, соответствующей вашей учетной записи электронной почты.
- Если запись есть — удалите ее вручную. Это немедленно снимет блокировку.
- Проанализируйте журнал регистрации, чтобы найти первоначальную ошибку, которая привела к блокировке. Возможно, одно из писем в очереди на отправку содержит некорректные данные. Такие "проблемные" письма лучше удалить из исходящих.
- Убедитесь, что у вас включено логирование в журнале регистрации. Иногда в процессе отладки его отключают и забывают включить, что лишает возможности найти причину сбоя.
Решение 2: Использование специальных паролей для приложений
Современные почтовые сервисы (Google, Яндекс, Mail.ru и др.) в целях повышения безопасности все чаще запрещают сторонним приложениям, таким как 1С, использовать основной пароль от почтового ящика для подключения. Вместо этого требуется создавать отдельные, уникальные пароли для каждого внешнего приложения.
Почему это происходит внезапно: почтовый провайдер может в любой момент обновить свою политику безопасности, и старый метод входа по обычному паролю перестанет работать без предупреждения.
Как исправить:
- Зайдите в ваш почтовый ящик через веб-интерфейс (браузер).
- Перейдите в настройки профиля, обычно в раздел "Безопасность".
- Найдите пункт меню, связанный с доступом для приложений, например: "Пароли для внешних приложений", "Пароли приложений" или "App passwords".
- Создайте новый пароль. Сервис попросит вас ввести название для пароля (например, "1С Бухгалтерия"), чтобы вы потом не запутались.
- Система сгенерирует длинный, сложный пароль. Скопируйте его. Этот пароль показывается только один раз.
- Вернитесь в 1С, откройте настройки проблемной учетной записи электронной почты (
Справочник.УчетныеЗаписиЭлектроннойПочты).
- В поле "Пароль" вставьте сгенерированный пароль приложения вместо вашего обычного пароля от почты.
- Сохраните настройки и попробуйте снова отправить письмо.
Этот метод решает подавляющее большинство проблем с отправкой почты через популярные публичные сервисы.
Решение 3: Разница в отправке из кода и через стандартный интерфейс ("желтый конвертик")
Иногда возникает ситуация, когда письма, отправленные программно, уходят, а письма, созданные через стандартную кнопку "Отправить по почте" (желтый конвертик) в печатных формах, — нет.
В чем причина:
- Программная отправка: При вызове функции типа
РаботаСПочтовымиСообщениями.ОтправитьПисьмо(УчетнаяЗапись, Письмо) разработчик явно указывает, какую учетную запись использовать. Как правило, в коде зашита корректно настроенная системная учетная запись.
- Интерактивная отправка: Когда пользователь нажимает "желтый конвертик", система чаще всего использует учетную запись по умолчанию, указанную в настройках текущего пользователя или в общих настройках программы.
Если эта учетная запись по умолчанию настроена неверно, заблокирована (см. Решение 1) или для нее не создан пароль приложения (см. Решение 2), то письмо не уйдет, хотя другая, системная учетная запись, будет работать исправно.
Как диагностировать:
- Выясните, какая учетная запись используется по умолчанию для пользователя, у которого возникает проблема.
- Проверьте настройки именно этой учетной записи: корректность сервера, порта, логина и, самое главное, пароля (должен быть пароль приложения).
- Проверьте, не заблокирована ли она в регистре
РегистрСведений.ЗаблокированныеДляПолученияУчетныеЗаписи.
Решение 4: Диагностика фоновых и регламентных заданий
В клиент-серверном варианте работы 1С отправка почты почти всегда выполняется не мгновенно, а с помощью фонового (регламентного) задания. Письмо сначала помещается в очередь, а специальное задание по расписанию забирает его и отправляет.
Проблема: Если в очереди окажется одно "битое" письмо (например, с огромным или поврежденным вложением), регламентное задание может "зависнуть" при попытке его обработать. В результате вся очередь отправки останавливается, и новые письма также не уходят.
Что делать:
- Откройте консоль администрирования или встроенную в 1С обработку "Регламентные и фоновые задания".
- Найдите задание, ответственное за почту. Обычно оно называется "Получение и отправка электронных писем" или похоже.
- Посмотрите на его состояние. Если задание находится в статусе "Выполняется" уже очень долгое время (несколько часов), скорее всего, оно зависло.
- Для решения проблемы можно попробовать перезапустить сервер 1С.
- Если это не помогло, необходимо очистить очередь исходящих писем. Найдите и удалите неотправленные документы "Исходящее электронное письмо" или записи в регистре сведений "Очередь сообщений", чтобы "проблемное" письмо не блокировало работу.
Дополнительные возможные причины
- Блокировка антивирусом или файрволом. Проверьте, не блокирует ли антивирус на сервере 1С исходящие SMTP-соединения от процесса
rphost.exe.
- Проблемы с SSL/TLS сертификатами. После обновления платформы 1С или операционной системы на сервере могли измениться требования к шифрованию. Если почтовый сервер требует современный протокол TLS 1.2/1.3, а система его не поддерживает, соединение будет рваться. Тест при этом может проходить, так как он проверяет только доступность порта, а не всю цепочку шифрования.
- Простая перезагрузка. Иногда помогает банальная перезагрузка сервера 1С и смена почтовых паролей (с последующим обновлением в 1С). Это может сбросить зависшие сессии или некорректные состояния.
Таким образом, внезапная остановка отправки почты — это комплексная проблема. Начинайте диагностику с проверки паролей приложений и регистра заблокированных учетных записей — это самые частые виновники в современных условиях.