This is an old version of the document!
Benno-client ist ein Kommandozeilen-Client für das REST API von Benno MailArchiv. Dieses Perl-Script kann als Basis für eigene Implementierungen genutzt werden.
In addition, it also offers the possibility to identify larger quantities of emails based on search criteria and to export them from the system, for example.
Benno Client ruft stellt Suchanfragen per REST-API an Benno MailArchiv. Die Anfragen können mit Hilfe der Lucene Query-Syntax formuliert werden.
Eine Suche gibt die Anzahl der gefundenen E-Mails zurück.
# benno-client -q 'From:m.hendriks@hansen-und-meyer.de' Found 3 emails.
Mit dem Schalter „-D“ (Debug) wird eine detaillierte Liste mit Informationen über die E-Mails ausgegeben.
# benno-client -q 'From:m.hendriks@hansen-und-meyer.de' -D ****** REQUEST ****** URI: http://benno2:3b24f5dfaa522a0882a590865d191260@localhost:21080/search/ Parameter: filterQuery => (*) archive => BennoContainer query => From:m.hendriks@hansen-und-meyer.de limit => 20 start => 0 ****** RESPONSE ******* Found: 3 First: 1 Last: 3 Limit: 20 Id(0): 2012:7C0D91484BA4DE568EEDF4D8F8936BCA2F159988C8E6C1DB3A2F3E95429D8B3B00 From: m.hendriks@hansen-und-meyer.de Date: 201206211211 Attachment: 1 To: j.kohning@hansen-und-meyer.de Subject: Firmenstruktur Id(1): 2012:FCAD7408A4C29D4A497E9BB84CCC7ECA82E489E59F4BB0E84157E89E4D75DF6F00 From: m.hendriks@hansen-und-meyer.de Date: 201206211219 Attachment: 1 To: j.kohning@hansen-und-meyer.de Subject: Re: Re: Firmenstruktur Id(2): 2012:E51F8A601C08E09004C02833347EFC2D7AD92E757FE4CEC5B10AD869E0D5BB2800 From: m.hendriks@hansen-und-meyer.de Date: 201206211224 Attachment: 1 To: j.kohning@hansen-und-meyer.de Cc: Sabine Petersen <info@hansen-und-meyer.de> Subject: Nochmal: Firmenstruktur
Diese Ausgabe kann jetzt genutzt werden, um die gefundenen E-Mails zu exportieren.
# benno-client -q 'From:m.hendriks@hansen-und-meyer.de' 2012:7C0D91484BA4DE568EEDF4D8F8936BCA2F159988C8E6C1DB3A2F3E95429D8B3B00 2012:FCAD7408A4C29D4A497E9BB84CCC7ECA82E489E59F4BB0E84157E89E4D75DF6F00 2012:E51F8A601C08E09004C02833347EFC2D7AD92E757FE4CEC5B10AD869E0D5BB2800
# benno-client -i 2012:E51F8A601C08E09004C02833347EFC2D7AD92E757FE4CEC5B10AD869E0D5BB2800
In the example below, all emails from the user "m.hendriks@hansen-und-meyer.de" from the year 2017 are to be exported. If more than 10,000 emails have been archived for the user, the limit should be set accordingly higher.
#!/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