Это старая версия документа!
Benno-client — это клиент командной строки для REST API . Этот скрипт на Perl можно использовать в качестве основы для ваших собственных реализаций.
Кроме того, система предоставляет возможность идентифицировать большие объемы электронных писем на основе критериев поиска и, например, экспортировать их из системы.
Клиент Benno обращается к Benno MailArchive через REST API формулировать, используя синтаксис запросов Lucene
Eine Suche gibt die Anzahl der gefundenen E-Mails anhand der Benno E-Mail Ids zurück. Die Anzahl der Rückgabewerte wird durch den Parameter –limt 20 festgelegt. Falls er nicht angegeben wird, ist die Voreinstellung 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 # # 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" = "No results found." ] && exit benno-client -i $bennoId > /tmp/${bennoId}.eml done
# benno-client -h Usage: /usr/sbin/benno-client [-h] [-s <secret>] [-r <rest host>] [-c <container>] [-p <port>] <-q <query>|-i <mailid>> -c '' archive container --filter '' lucene filter string or file with filter --first '' first email in response list --limit '' limit response list to <num> mails -i '' fetch mail with id -j dump raw JSON response -p <port> REST port (21080) -q '' lucene query string or file with filter (search header as "HEADER-" ) -r <resthost> (localhost) -s <secret> shared secret -v verbose -h print this help