При автоматизации бизнес-процессов часто требуется настроить обмен электронными письмами напрямую через платформу 1С:Предприятие без использования сторонних почтовых программ. Разберем, как реализовать прием входящей корреспонденции средствами встроенного языка.
Для взаимодействия с почтовыми серверами по стандартным протоколам в платформе 1С предусмотрен встроенный объект ИнтернетПочта. Процесс получения почты состоит из настройки профиля подключения, соединения с сервером и непосредственной загрузки писем с помощью метода Получить().
Рассмотрим пошагово базовый алгоритм подключения и загрузки почтовых сообщений:
ИнтернетПочтовыйПрофиль и заполняем параметры доступа к серверу входящей почты: адрес сервера, порт, логин, пароль, а также настройки протокола и шифрования.ИнтернетПочта.Подключиться() с передачей созданного профиля.Получить() для скачивания новых входящих писем в массив объектов ИнтернетПочтовоеСообщение.Отключиться() для корректного освобождения ресурсов на стороне почтового сервера.Посмотрим на пример программной реализации загрузки сообщений по протоколу IMAP:
Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.АдресСервераIMAP = "imap.example.com";
Профиль.ПортIMAP = 993;
Профиль.ПользовательIMAP = "robot@example.com";
Профиль.ПарольIMAP = "app_specific_password";
Профиль.ИспользоватьSSLIMAP = Истина;
Почта = Новый ИнтернетПочта;
Попытка
Почта.Подключиться(Профиль, ПротоколИнтернетПочты.IMAP);
// Получаем массив входящих сообщений
МассивПисем = Почта.Получить();
Для Каждого Письмо Из МассивПисем Цикл
Тема = Письмо.Тема;
Отправитель = Письмо.Отправитель.Адрес;
// Обработка тела письма и вложений
КонецЦикла;
Почта.Отключиться();
Исключение
Почта.Отключиться();
ВызватьИсключение;
КонецПопытки;
Платформа поддерживает перечисления ПротоколИнтернетПочты.IMAP и ПротоколИнтернетПочты.POP3. Выясним причину, по которой в современной разработке рекомендуется отдавать предпочтение именно IMAP:
ПолучитьЗаголовки(). Это помогает предварительно оценить объем данных и исключить зависание системы при обработке писем с тяжелыми вложенными файлами.Проанализируем частую проблему при настройке почты: современные почтовые провайдеры по умолчанию запрещают авторизацию по обычному паролю учетной записи в целях безопасности. Чтобы подключение 1С к ящику прошло успешно, необходимо:
ПарольIMAP (или Пароль) именно его.ИспользоватьSSLIMAP или ИспользоватьSSLPOP3 в значение Истина.Получение почты — ресурсоемкая синхронная операция. Рассмотрим нюансы, которые необходимо учитывать при внедрении функционала:
ХранилищеЗначения быстро увеличивает размер информационной базы. Рекомендуется сохранять вложения в томах на диске.