Команда sendMail - Документация для КриптоАРМ 6
Перейти к содержанию

Команда sendMail

Действия с электронными письмами

Команда mail используется для действий с электронными письмами в КриптоАРМ.

Схема взаимодействия:

Схема

Формат ссылки

Для выполнения команды mail должна быть сформирована ссылка вида:

cryptoarm://mail/<URL>/?id=<id>
  • cryptoarm:// - зарегистрированный протокол

  • mail - выполняемая команда

  • <URL> - ссылка, на которую КриптоАРМ будет слать запросы

  • id - уникальный идентификатор транзакции

Пример:

cryptoarm://mail/https://example.com/json?id=2c48eb32-a0a8-405c-ade9-eed130605cba

Общее

Все запросы между КриптоАРМ и сервером ДОЛЖНЫ соответствовать спецификации протокола JSON-RPC 2.0.

В качестве транспорта используется HTTP.

Общее описание указано в разделе Формат ссылки.

Получение параметров операции

После получения команды mail КриптоАРМ отправляет запрос на получение параметров операции.

Формат запроса

Ключ Значение Описание
jsonrpc «2.0» Версия JSON-RPC протокола. Всегда «2.0».
method mail.parameters Используемый метод. Всегда mail.parameters.
id Уникальный идентификатор Используется идентификатор, который указан в ссылке на операцию. Подробнее в разделе Формат ссылки
diagnostic IDiagnosticInformaton Диагностическая информация о рабочем месте

Пример:

Content-Type: application/json
Content-Length: ...
Accept: application/json
{
    "jsonrpc": "2.0",
    "method": "mail.parameters",
    "id": "2c48eb32-a0a8-405c-ade9-eed130605cba",
    "diagnostic": {
    }
}

Формат ответа

Ключ Значение Описание
jsonrpc «2.0» Версия JSON-RPC протокола. Всегда «2.0».
result IMailParameters Объект со сведениями о параметрах операции
id Уникальный идентификатор Используется идентификатор, который указан в ссылке на операцию. Подробнее в разделе Формат ссылки

Пример ответа:

HTTP/1.1 200 OK
Connection: close
Content-Length: ...
Content-Type: application/json
Date: Sat, 08 Jul 2020 12:04:08 GMT
{
    "jsonrpc": "2.0",
    "result": {
        "operation": "SEND",
        "props": {
        "mailProps": {
           "to": ["test@example.com"],
           "cc": ["test1@example.com", "test2@example.com"],
           "bcc": ["test3@example.com"],
           "subject": "Message subject",
           "content": "text message content",
           "htmlContent": "<div>HTML message content</div>",
           "attachments": [{
                    "name": "file1.txt",
                    "url": "http://localhost:8080/public/files/file1.txt",
                    "id": 1,
                    "urlDetached": ""
                },
                {
                    "name": "file2.txt",
                    "url": "http://localhost:8080/public/files/file2.txt",
                    "id": 2,
                    "urlDetached": ""
                },
                {
                    "name": "file4.pdf",
                    "url": "http://localhost:8080/public/files/file4.pdf",
                    "id": 4,
                    "urlDetached": ""
                }
           ],
           "sign": false,
           "encrypt": false,
           "deliveryReport": false,
           "readReport": false
           }
      }
    },
    "id": "2c48eb32-a0a8-405c-ade9-eed130605cba"
}

Интерфейс IMailParameters

Объекты данного типа описывают вид операции и её параметры.

Свойство Тип Описание
operation string Тип операции. Доступные значения: «SEND» – открыть новое сообщение (черновик) с переданными параметрами, «OPEN» – открыть для чтения сообщение eml.
props IMailOperationProps Параметры операции

Интерфейс IMailOperationProps

Объекты данного типа описывают вид операции и её параметры.

Свойство Тип Описание
eml? IFile Необязательный параметр. Параметры для получения eml файла.
mailProps? IMailProps Необязательный параметр. Свойства для нового сообщения.
extra? Объект типа IExtra Необязательный параметр. Настройки операции. Для команды mail это свойство может содержать token, для скачивания eml с сервера.

Интерфейс IMailProps

Объекты данного типа описывают параметры операции электронного сообщения.

Свойство Тип Описание
to string[] Массив адресов получателей
сс? string[] Массив адресов получателей копии
bсс? string[] Массив адресов получателей скрытой копии
subject string Тема сообщения
content string Текстовое содержимое сообщения
htmlContent? string Форматированное содержимое сообщения в формате HTML
attachments? IFile[] Файлы для прикрепления к сообщению (вложения)
sign boolean Флаг, указывающий на необходимость подписать сообщение
encrypt boolean Флаг, указывающий на необходимость зашифровать сообщение
deliveryReport boolean Флаг, включающий получение отчета о доставке
readReport boolean Флаг, включающий получение отчета о прочтении

Для повышения удобства работы и хранения данных веб-сайт CRYPTOARM.RU использует файлы COOKIE. Продолжая работу с веб-сайтом, Вы даете свое согласие на работу с этими файлами.