Как настроить отправку почты из 1С через Gmail (SMTP) после отключения доступа небезопасным приложениям?

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

Многие разработчики, использующие объект CDO.Message для автоматизации отправки почты из 1С через серверы Gmail, столкнулись с ограничением безопасности. Google прекратил поддержку авторизации с использованием логина и стандартного пароля учетной записи для сторонних программ. Рассмотрим, как решить эту проблему, не меняя привычную инфраструктуру и сохранив работоспособность текущего кода.

Понимание проблемы: почему перестала работать почта?

Google перешел на усиленную модель безопасности. Ранее мы использовали настройку «Доступ небезопасных приложений», которая позволяла программным скриптам авторизоваться на smtp.gmail.com напрямую. Сейчас этот метод признан устаревшим и небезопасным. Поскольку объект CDO является технологией Windows и не поддерживает современный протокол OAuth 2.0 в стандартном исполнении, нам необходимо использовать промежуточное решение — пароли приложений.

Пошаговое решение: перенастройка учетной записи Google

Для восстановления отправки почты из 1С выполним следующие действия в аккаунте Google, через который осуществляется рассылка:

  1. Включение двухэтапной аутентификации. Перейдите в настройки безопасности вашего аккаунта Google. Найдите раздел «Двухэтапная аутентификация» и активируйте её. Это обязательный шаг, без которого создание паролей для сторонних приложений будет заблокировано системой безопасности Google.
  2. Генерация пароля приложения. После включения двухэтапной проверки в том же разделе «Безопасность» появится новый пункт «Пароли приложений». Перейдите в него, выберите в выпадающем списке «Другое (собственное название)», введите, например, «1С:Предприятие» и нажмите кнопку «Создать».
  3. Получение уникального кода. Система предоставит вам 16-значный пароль, сгруппированный по 4 символа. Важно: этот пароль нужно сохранить сразу, так как после закрытия окна он будет скрыт.

Настройка программного кода 1С

Теперь, когда у нас есть специальный пароль, необходимо внести изменения в конфигурацию 1С. Рассмотрим типичный пример настройки объекта CDO.Message, который обычно используется в обработках 1С.

Ранее в коде вы указывали основной пароль от своей почты. Теперь в качестве пароля необходимо использовать именно тот 16-значный код, который мы получили на предыдущем этапе. Все остальные настройки сервера остаются прежними:


// Пример настройки параметров подключения CDO
Конфигурация = Новый COMОбъект("CDO.Configuration");
Поля = Конфигурация.Fields;
Поля.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value = "smtp.gmail.com";
Поля.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport").Value = 465;
Поля.Item("http://schemas.microsoft.com/cdo/configuration/sendusing").Value = 2;
Поля.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value = 1;
Поля.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl").Value = True;
Поля.Item("http://schemas.microsoft.com/cdo/configuration/sendusername").Value = "ваш_адрес@gmail.com";
Поля.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value = "ваш_16_значный_пароль_приложения";
Поля.Update();

Почему это лучшее решение на данный момент?

Давайте проанализируем, почему использование «Паролей приложений» является оптимальным выходом для существующих систем:

Перспективы развития

Конечно, стоит понимать, что технологии развиваются. В долгосрочной перспективе, если Google полностью откажется от использования паролей приложений, потребуется переход на использование современных библиотек 1С, поддерживающих протокол OAuth 2.0 через официальный API Gmail, либо переход на использование профессиональных SMTP-релеев (сервисов для транзакционной почты), которые позволяют делегировать управление безопасностью специализированным провайдерам. Однако на текущий момент описанный выше метод остается самым быстрым и эффективным способом решения проблемы «небезопасных приложений» для большинства конфигураций 1С.

← На главную