Приветствуем вас! Сегодня мы разберем одну из самых частых и актуальных проблем, с которой сталкиваются пользователи 1С при попытке настроить отправку или получение электронной почты через сервис Gmail. После ряда изменений в политике безопасности Google, стандартные методы аутентификации, использующие только логин и основной пароль, перестали работать. Если вы видите ошибку "Аутентификация не прошла" или "SMTP error code 535 5.7.8 Username and Password not accepted", значит, вы столкнулись именно с этой ситуацией. Давайте вместе выясним причину и найдем эффективные решения.
Мы рассмотрим несколько подходов, начиная от наиболее простого и распространенного, и заканчивая более сложными, но перспективными методами. Выберем тот, который подходит именно для вашей версии 1С и ваших требований к безопасности.
Это наиболее прямолинейное и рекомендуемое решение для большинства пользователей 1С, работающих с Gmail. Google отключил возможность использования "менее безопасных приложений" (Less secure app access), что означает, что сторонние программы, такие как 1С, больше не могут использовать ваш основной пароль для доступа к почте. Вместо этого нам потребуется сгенерировать специальный, одноразовый пароль приложения.
Давайте разберем процесс по шагам:
Включите двухэтапную аутентификацию (2FA) в вашем аккаунте Google. Это обязательное условие для создания паролей приложений. Если 2FA у вас уже включена, можете пропустить этот шаг. Для включения перейдите в настройки безопасности вашего аккаунта Google.
Сгенерируйте пароль приложения. После включения 2FA, в разделе "Безопасность" вашего аккаунта Google появится пункт "Пароли приложений". Зайдите в него. Вам потребуется выбрать приложение (например, "Почта") и устройство (например, "Другое (введите название)" и указать "1С"). После этого Google сгенерирует 16-значный пароль.
Важно: Скопируйте этот пароль немедленно, так как он отображается только один раз и повторно посмотреть его будет невозможно. Если вы его потеряете, придется генерировать новый.
Используйте сгенерированный пароль приложения в 1С. Вместо вашего основного пароля от Gmail, который вы использовали ранее, теперь в настройках учетной записи электронной почты в 1С вам нужно будет вставить этот 16-значный пароль приложения.
Теперь давайте посмотрим, как эти параметры применяются в коде 1С или через интерфейс встроенного почтового клиента. Нам потребуются следующие основные настройки:
Сервер исходящей почты (SMTP): smtp.gmail.com
Порт SMTP: 465 с использованием шифрования SSL. Альтернативно, можно использовать порт 587 с TLS/STARTTLS.
Сервер входящей почты (IMAP): imap.gmail.com
Порт IMAP: 993 с использованием шифрования SSL.
Аутентификация: Требуется аутентификация. В большинстве случаев достаточно указать "Аналогично серверу входящей почты" или явно прописать логин и пароль.
Дополнительно: Убедитесь, что доступ по протоколу IMAP включен в настройках вашего Gmail через веб-интерфейс.
Рассмотрим пример кода на встроенном языке 1С, который демонстрирует, как настроить и использовать эти параметры для отправки почты:
// Создаем объект профиля почты
Профиль = Новый ИнтернетПочтовыйПрофиль;
// Устанавливаем параметры для исходящей почты (SMTP)
Профиль.АдресСервераSMTP = "smtp.gmail.com";
Профиль.ПортSMTP = 465;
Профиль.ИспользоватьSSLSMTP = Истина; // Для порта 465 используем SSL
// Если бы использовали порт 587, написали бы: Профиль.ИспользоватьSTARTTLSSMTP = Истина;
Профиль.ПользовательSMTP = "ваш_логин@gmail.com"; // Ваш полный адрес Gmail
Профиль.ПарольSMTP = "ВАШ_16_ЗНАЧНЫЙ_ПАРОЛЬ_ПРИЛОЖЕНИЯ"; // Сгенерированный пароль приложения
Профиль.Таймаут = 60; // Таймаут в секундах
// Можно также установить параметры для входящей почты (IMAP), если требуется получение
Профиль.АдресСервераIMAP = "imap.gmail.com";
Профиль.ПортIMAP = 993;
Профиль.ИспользоватьSSLIMAP = Истина;
Профиль.ПользовательIMAP = Профиль.ПользовательSMTP;
Профиль.ПарольIMAP = Профиль.ПарольSMTP;
// Создаем объект для работы с почтой
Почта = Новый Почта;
// Подключаемся к почтовому серверу
Попытка
Почта.Подключиться(Профиль);
Сообщить("Успешное подключение к почтовому серверу!");
// Создаем новое почтовое сообщение
Сообщение = Новый ИнтернетПочтовоеСообщение;
Сообщение.Тема = "Тестовое сообщение из 1С";
Сообщение.Текст = "Это сообщение отправлено из 1С с использованием пароля приложения Gmail.";
// Устанавливаем отправителя
Сообщение.Отправитель.Адрес = Профиль.ПользовательSMTP;
Сообщение.Отправитель.ОтображаемоеИмя = "1С Отправитель";
// Добавляем получателя
Сообщение.Получатели.Добавить("получатель@example.com");
// Отправляем сообщение
Почта.Отправить(Сообщение);
Сообщить("Сообщение успешно отправлено!");
Исключение
Сообщить("Не удалось подключиться или отправить сообщение: " + ОписаниеОшибки());
КонецПопытки;
// Отключаемся от почтового сервера
Почта.Отключиться();
В этом примере мы видим использование объектов ИнтернетПочтовыйПрофиль, Почта и ИнтернетПочтовоеСообщение. Ключевым моментом является присвоение сгенерированного пароля приложения свойству ПарольSMTP (и ПарольIMAP, если вы настраиваете получение почты).
Для более новых версий платформы "1С:Предприятие" (начиная с 8.3.19), появилась встроенная поддержка протокола OAuth 2.0 для доступа к почтовым ящикам. Это наиболее безопасный и современный метод аутентификации, который Google активно продвигает. Он позволяет приложениям получать доступ к данным пользователя без необходимости передавать им логин и пароль напрямую, используя вместо этого временные токены.
Давайте проанализируем ситуацию с OAuth 2.0:
Принцип работы: Вместо прямого ввода логина и пароля, 1С (или любое другое приложение) перенаправляет пользователя на страницу авторизации Google. После подтверждения доступа пользователем, Google выдает 1С специальные токены, которые используются для дальнейшего взаимодействия с почтовым сервисом.
Преимущества: Повышенная безопасность, отсутствие необходимости хранить или передавать основной пароль пользователя, возможность отзывать доступ для отдельных приложений.
Настройка: Настройка OAuth 2.0 более сложна и требует создания OAuth-приложения в консоли разработчика Google (Google Cloud Console). Вам нужно будет получить Client ID и Client Secret, а также настроить перенаправления (redirect URIs). Затем эти параметры используются в 1С для инициализации процесса аутентификации.
Перспективы: В будущем OAuth 2.0 станет основным способом подключения к крупным почтовым сервисам, вытесняя даже пароли приложений для многих сценариев. Если ваша платформа поддерживает этот метод, мы рекомендуем изучить его для обеспечения максимальной безопасности и стабильности.
Встроенные средства 1С для работы с OAuth обычно доступны через объекты ИнтернетПочтовыйПрофиль, которые имеют соответствующие свойства и методы для работы с токенами OAuth. Однако, поскольку эта настройка требует шагов вне 1С и более глубокого понимания протокола, мы сосредоточимся на концептуальном описании, не приводя полного примера кода, который был бы слишком объемным и специфичным для данной страницы.
Помимо встроенных возможностей 1С и паролей приложений, существуют и другие способы взаимодействия с почтой Gmail, которые могут быть полезны в определенных сценариях.
Многие современные типовые конфигурации 1С, такие как "1С:Бухгалтерия", "1С:УНФ", "1С:Розница", имеют собственный встроенный почтовый клиент. Он позволяет отправлять и получать электронные письма и документы непосредственно из программы, что значительно упрощает документооборот.
Настройка учетной записи в таком клиенте обычно осуществляется через разделы "Администрирование" или "Настройки - Почта и SMS". В этих настройках вам также потребуется использовать сгенерированный пароль приложения Google вместо основного пароля. Интерфейс программы сам предложит необходимые поля для ввода адресов серверов, портов и учетных данных.
Для разработчиков, которым требуется максимальная гибкость и контроль над процессом, существует инструмент curl1c. Это обертка для популярной утилиты curl, позволяющая использовать ее функциональность непосредственно из 1С. curl является мощным инструментом для взаимодействия с различными сетевыми протоколами, включая SMTPS и IMAP.
Рассмотрим подробнее:
Гибкость: Использование curl1c дает возможность тонко настраивать параметры соединения, заголовки, методы аутентификации, что может быть критично для нестандартных задач.
Требования: Для работы с curl1c необходимо установить саму утилиту curl на сервер или клиентскую машину, где выполняется код 1С. Также требуется более глубокое понимание протоколов SMTP/IMAP и синтаксиса команд curl.
Применение: Этот метод больше подходит для опытных разработчиков, которым нужно реализовать специфический функционал, не покрываемый стандартными объектами 1С.
В прошлом, когда встроенная поддержка SSL/TLS в 1С была менее развита, внешние компоненты, такие как DialMail, пользовались популярностью. Они предоставляли расширенные возможности для работы с почтой, включая поддержку защищенных соединений.
В современных условиях, с улучшенной встроенной функциональностью платформы 1С и появлением паролей приложений/OAuth, необходимость в таких сторонних компонентах значительно снизилась. Однако, если вы работаете со старыми версиями 1С, где нет адекватной поддержки SSL или OAuth, DialMail все еще может быть рассмотрен как вариант.
Мы вместе разобрали основные методы решения проблемы отправки и получения почты через Gmail из 1С. Самым доступным и рекомендованным способом является использование паролей приложений Google. Для более новых версий платформы и высоких требований к безопасности, стоит обратить внимание на OAuth 2.0. Выберите подходящий для вас метод, следуйте нашим рекомендациям, и ваша почта из 1С снова будет работать стабильно и безопасно!
← К списку