Как настроить получение почты по SSL/TLS в 1С 7.7, если она перестала работать?

Программист 1С v7.7 IT и автоматизация бизнеса
← На главную

В последнее время многие пользователи 1С:Предприятие 7.7 сталкиваются с проблемой: привычная отправка и получение почты перестает работать. Чаще всего это связано с тем, что почтовые серверы (Яндекс, Google, Mail.ru и другие) перешли на современные стандарты безопасности, требующие защищенного соединения через протоколы SSL/TLS, которые старые компоненты 1С не поддерживают "из коробки".

Давайте вместе разберемся, почему это происходит и как выполняется настройка почты 1С 7.7 через SSL в современных условиях, чтобы шаг за шагом восстановить работоспособность почты в нашей "семерке".

Решение 1: Настройка компоненты DialMail с библиотеками OpenSSL

Самый распространенный способ — это работа с почтой (SMTP, POP3) через SSL с использованием внешней компоненты DialMail, но для работы с шифрованием ей нужны помощники — специальные библиотеки OpenSSL. Выясним причину, по которой стандартная настройка может не работать: компонента сама по себе не умеет шифровать трафик, и ей нужно "подсказать", как это делать. В некоторых случаях может быть полезна расширенная библиотека процедур и функций для 1С 7.7, включающая инструменты для работы с SMTP серверами.

Разберем по шагам, что необходимо сделать для правильной настройки.

  1. Поиск и удаление старых библиотек. Это критически важный шаг. Прежде чем устанавливать новые файлы, необходимо убедиться, что в системе не осталось старых версий библиотек, которые могут вызывать конфликты. Проверьте и удалите файлы libeay32.dll и ssleay32.dll из стандартных каталогов.

  2. Загрузка необходимых библиотек. Для работы с SSL нам понадобятся две библиотеки: libeay32.dll и ssleay32.dll. Если ваша конфигурация подразумевает специфические задачи, такие как отправка счетов из 1С ТиС через SSL, убедитесь, что используемые библиотеки совместимы с вашей версией компоненты.

  3. Правильное размещение библиотек. После удаления старых версий скопируйте новые файлы в системный каталог (System32 для 32-битных или SysWOW64 для 64-битных систем).

  4. Настройка параметров в 1С. В коде подключения к почтовому серверу необходимо указать, что мы используем SSL. Посмотрим на пример кода для компоненты DialMail:

    
    // Создаем объект для работы с почтой
    Почта = СоздатьОбъект("AddIn.DialMail");
    
    // Устанавливаем параметры подключения к POP3-серверу
    Почта.СерверPOP3 = "pop.yandex.ru";
    Почта.ПортPOP3 = 995;
    Почта.Пользователь = "ВашЛогин";
    Почта.Пароль = "ПарольПриложения"; // ВАЖНО: не основной пароль!
    Почта.ИспользоватьSSL_POP3 = 1;
    
    // Устанавливаем параметры подключения к SMTP-серверу
    Почта.СерверSMTP = "smtp.yandex.ru";
    Почта.ПортSMTP = 465;
    Почта.АутентификацияSMTP = 1;
    Почта.ИспользоватьSSL_SMTP = 1;
    

Решение 2: Использование паролей приложений и настройка почтового ящика

Даже при идеально настроенной компоненте вы можете столкнуться с ошибками аутентификации. Причина — современные требования безопасности, в частности, двухфакторная аутентификация. Если стандартные методы не помогают, иногда стоит рассмотреть отправку почты с использованием CDO-компоненты, которая встроена в Windows и может работать там, где внешние библиотеки дают сбой.

Если на вашем почтовом ящике включена 2FA, использовать обычный пароль нельзя. Для этого необходимо сгенерировать специальный пароль приложения в настройках безопасности вашего аккаунта.

Этот подход особенно актуален, когда вам требуется массово отправлять почтой печатные формы любых документов в формате Excel напрямую из программы.

Решение 3: Универсальный метод с использованием Stunnel

Если предыдущие способы не помогли, существует надежный обходной путь — использование Stunnel. Это создает локальный зашифрованный туннель, позволяя 1С работать с почтой "по старинке".

Проанализируем, как это работает: 1С подключается к локальному адресу (127.0.0.1), а stunnel "заворачивает" трафик в SSL. Это универсальный метод, который позволяет реализовать даже такие сложные задачи, как отправка писем с вложениями через Python, если возможностей встроенного языка 1С 7.7 становится недостаточно.

Рассмотрим настройку stunnel.conf:


[yandex_pop3]
accept = 127.0.0.1:110
connect = pop.yandex.ru:995

[yandex_smtp]
accept = 127.0.0.1:25
connect = smtp.yandex.ru:465

В коде 1С при использовании Stunnel настройки упрощаются:


Почта.СерверPOP3 = "127.0.0.1";
Почта.ПортPOP3 = 110;
Почта.СерверSMTP = "127.0.0.1";
Почта.ПортSMTP = 25;
Почта.ИспользоватьSSL_POP3 = 0; // Шифрует уже Stunnel
Почта.ИспользоватьSSL_SMTP = 0;

Этот метод является самым надежным и позволяет стабильно работать с почтой вне зависимости от изменений в требованиях почтовых сервисов.

← На главную