Это старая версия документа!
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 -q 'From:m.hendriks@hansen-und-meyer.de' 2012:7C0D91484BA4DE568EEDF4D8F8936BCA2F159988C8E6C1DB3A2F3E95429D8B3B00 2012:FCAD7408A4C29D4A497E9BB84CCC7ECA82E489E59F4BB0E84157E89E4D75DF6F00 2012:E51F8A601C08E09004C02833347EFC2D7AD92E757FE4CEC5B10AD869E0D5BB2800
# benno-client -i 2012:E51F8A601C08E09004C02833347EFC2D7AD92E757FE4CEC5B10AD869E0D5BB2800
В приведенном ниже примере необходимо экспортировать все электронные письма пользователя "m.hendriks@hansen-und-meyer.de" за 2017 год. Если для этого пользователя заархивировано более 10 000 писем, лимит следует установить соответственно выше.
#!/bin/bash # # benno-client -q '(Sender:m.hendriks@hansen-und-meyer.de OR Recipient:m.hendriks@hansen-und-meyer.de) AND Date:[201701010000 TO 201808271605]' | \ 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] [-V] -s <secret> [-H <hostname>] [-c <container>] [-P <port>] <-q|-i> -s <secret> shared secret -q '' lucene query string or file with filter (search header as "HEADER-" ) -i '' fetch mail with id -f '' lucene filter string or file with filter -b '' begin with email number in response list -l '' limit respones to num -c '' archive container -H <hostname> (localhost) -P <port> (8080) -j dump raw JSON response -M print results as list of mail ids -v verbose -D debug mode