Как отправлять и получать отчеты через Outlook в FastReport VCL

20.07.2022

Как отправлять и получать отчеты через Outlook в FastReport VCL

В этой статье вы познакомитесь с новой подкатегорией транспортов, которая стала доступна с версией 2022.2.7 и называется “почтовые транспорты”. На данный момент в нее входят 2 компонента обеспечивающие доступ к GMail и Outlook.

Почтовые транспорты поддерживают следующий функционал:
- сохранение и загрузка отчета;
- сохранение результата экспорта.

Сохранение подразумевает отправку письма. Загрузка подразумевает использование прикрепленных к письму файлов, при этом письмо может находиться в любой почтовой категории (входящие/отправленные/черновики и так далее).

Подробнее об использовании GMail можно прочитать по следующей ссылке.

Важно! Для работы протокола https необходимы следующие библиотеки Open SSL: libssl-3.dll и libcrypto-3.dll их можно найти в директории с главным демо приложением. Библиотеки необходимо скопировать в папку с приложением или системную директорию.

Содержание

- Добавление транспорта в приложение и настройка
- Подключение к Outlook
- Будущее почтовых транспортов

Текущее состояние транспортов

В FastReport есть компоненты, называемые “транспортами”. Они нужны для обеспечения доступа к:
- облачным хранилищам (Dropbox, OneDrive, Box.com, Google.Drive, Yandex.Disk);
- FTP-серверам;
- Email (только отправка сообщений);
- почтовым сервисам (Gmail, Outlook).

Облачные хранилища и FTP-сервера поддерживают следующий функционал:
- сохранение и загрузка отчета;
- сохранение результата экспорта;
- использование файлов (например, картинок) при построении отчета.

Добавление транспорта в приложение и настройка

Добавление транспорта

1. Перейдите в палитру компонентов в среде разработки Embarcadero Rad Studio и раскройте вкладку “FastReport VCL Internet transports”.

2. Выберите нужный компонент и добавьте его на форму приложения. Можно использовать контекстное меню на компоненте. Это установит подключение прямо из среды разработки. Нажимаем на подменю “Edit connection”.

Всплывающее окно при клике правой кнопкой мыши на компоненте

По умолчанию транспорты реагируют только на ответ авторизации от браузера используя порт 9898. Если этот порт уже занят или планируется использовать данный порт в дальнейшем, FastReport VCL позволяет изменить порт через настройку свойства ListenerPort.

Инспектор объектов после выделения транспорта

Далее будем предполагать использование порта 9898 по умолчанию. Теперь рассмотрим этапы подключения для почтовых транспортов.

Важно! Пользователю не нужно выполнять все нижеперечисленные действия каждый раз, для авторизации. Данная настройка выполняется только один раз администратором облачных сервисов. После выполнения всех действий полученные авторизационные данные могут быть использованы другими пользователями.

Подключение к Outlook

Когда пользователь хочет открыть (или сохранить) отчет (или результат экспорта) используя транспорт, то он увидит стандартный диалог авторизации (если он не авторизовался ранее).

Стандартный диалог авторизации почтовых транспортов

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

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

Страница управления приложениями

Прежде всего, нужно создать новое приложение. Нажмите кнопку “Register an application”.

Страница регистрации нового приложения

На данном этапе необходимо ввести имя приложения, выбрать типы поддерживаемых учетных записей и заполнить Redirect URI.

Для простоты настройки в свойстве “Типы поддерживаемых аккаунтов” выберем третий пункт “Accounts in any organizational directory (Any Azure AD directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)”. Подробнее об этом вы сможете прочитать, нажав на “Help me choose...”.

Если вы хотите использовать стандартный порт, то в поле Redirect URI введите “http://localhost:9898”.

Нажмите кнопку “Register”. Наше приложение будет успешно создано.

Страница регистрации нового приложения

Скопируйте значение поля “Client ID” в диалог авторизации FastReport VCL. Откройте раздел “Certificates & secrets”.

Страница управления приватными ключами

Нажмите “New client secret”.

Всплывающее окно создания нового приватного ключа

Введите описание и выберите срок действия кода. Нажмите “Add”.

Страница регистрации нового приложения с новым приватным ключом

Скопируйте значение “Value” в диалог авторизации FastReport VCL.

Заполненный стандартный диалог авторизации почтовых транспортов

Нажмите “Ok”. Откроется новое окно в браузере с предложением войти в ваш аккаунт.

Страница запроса разрешений

После авторизации нажмите “Yes”.

Стандартный диалог загрузки прикреплённых файлов

На этом настройка подключения успешно окончена. Теперь вы знаете, как подключаться к Outlook в FastReport VCL.

Будущее почтовых транспортов

Функционально облачные транспорты поддерживают все ранее указанные возможности. Графическое оформление почтовых транспортов во время загрузки будет доработано в последующих релизах. Пока что используется графический интерфейс пользователя (GUI) как облачных хранилищах. Сейчас категории и сообщения реализованы в виде папок, а вложения в виде файлов.

Стандартный диалог загрузки прикреплённых файлов

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

GUI окна отправки сообщений также подвергнется незначительным изменениям.

Стандартный диалог отправки файлов

Отдельно отметим временную особенность отправки результата экспорта. Если экспорт генерирует несколько файлов, то каждый файл отправляется собственным письмом. То есть если вы захотите отправить результат экспорта в постраничный PNG, то каждая картинка будет отправлена отдельным письмом.

Почти все экспорты в FastReport VCL генерируют только 1 выходной файл (PDF, DOCX, RTF и прочие), большинство пользователей эту особенность не заметят.

Эта неточность будет исправлена с последующими релизами. По всем вопросам пишите нам в Поддержку.

2 сентября 2024

Обзор облачного решения для создания и управления отчетами

МоиОтчеты Облако — это мощное облачное решение для создания и управления отчетами, обеспечивающее широкий спектр возможностей, от создания документов в различных форматах до интеграции с корпоративными системами.
12 августа 2024

Как собрать и установить плагин Postgres в FastReport .NET

В этой статье описывается подключение к базе посредством плагина FastReport .NET для дизайнера отчетов из Visual Studio через NuGet-сервер.
8 августа 2024

Как установить FastReport .NET и его компоненты в Windows

Пошаговая инструкция по онлайн и ручной установке через регистрационный код FastReport .NET и его компонентов в Windows.