Benno-client — это клиент командной строки для REST API . Этот скрипт на Perl можно использовать в качестве основы для ваших собственных реализаций.
Кроме того, система предоставляет возможность идентифицировать большие объемы электронных писем на основе критериев поиска и, например, экспортировать их из системы.
Клиент Benno обращается к Benno MailArchive через REST API формулировать, используя синтаксис запросов Lucene
Поиск возвращает количество найденных электронных писем на основе адресов электронной почты Бенно. Количество возвращаемых значений задается параметром `--limit 20` . Если он не указан, по умолчанию используется значение 20.
# benno-client -q 'From:m.hendriks@hansen-und-meyer.de' 2016:446E2DD35A73880A569992D2CAC77EE78ACDA94383EA42247869D81CA5AD850800 2016:3B582513165E3BCEEF113F44F200FA9A4534EB3BFAE37264867745CE4EB4424500 2016:3B582513165E3BCEEF113F44F200FA9A4534EB3BFAE37264867745CE4EB4424500 Найдено 3 электронных адреса (первый: 1, последний: 20, лимит: 20)
Последняя строка (статус) выводится в STDERR и может быть удалена командой 2>/dev/null . Это позволяет использовать список в качестве входных данных для загрузки электронных писем.
# benno-client -i 2012:E51F8A601C08E09004C02833347EFC2D7AD92E757FE4CEC5B10AD869E0D5BB2800
В приведенном ниже примере необходимо экспортировать все электронные письма пользователя "m.hendriks@hansen-und-meyer.de" за 2017 год. Если для этого пользователя заархивировано более 10 000 писем, лимит следует установить соответственно выше.
#!/bin/bash # # EXPORTDIR = / tmp / export mkdir $EXPORTDIR benno-client --limit 10000 -q '(Sender:m.hendriks@hansen-und-meyer.de OR Recipient:m.hendriks@hansen-und-meyer.de) AND Date:[201701010000 TO 201808271605]' 2 >/ dev / null | \ while read bennoId; do [ " $bennoId " = "Результаты не найдены." ] && exit benno-client --export $EXPORTDIR --id $bennoId done
Использование: / usr / sbin / benno-client [ -h ] [ -s < secret > ] [ -r < rest host > ] [ -c < container > ] [ -p < port > ] < -q < query >| -i < mailid >> -c '' archive container -u | --scid < scid > ' subcontainer id (if configured) --filter ' < filter > ' lucene filter string or file with filter --first ' < num > ' first email in response list -l|--limit ' < num > ' limit response list tomails -i|--id ' < id > ' получить почту с id -j выгрузить необработанный JSON-ответ -pREST-порт (21080) -q ' < запрос > ' Строка запроса Lucene или файл с фильтром (заголовок поиска как "HEADER-"") -р (localhost) -s shared secret -v verbose -h print this help (search header as "HEADER- ") --export запись emlfile в каталог --xheader добавить в выходной файл заголовок --instance-id вывести идентификатор экземпляра Benno MailArchive --license вывести данные лицензии