Инструменты пользователя

Инструменты веб-сайта


Бенно Клиент

Различия

Здесь показаны различия между двумя версиями.

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

Обе стороны предыдущей редакцииПредыдущая редакция
Следующая редакция
Предыдущая редакция
benno-client [2018/09/21 07:31] – [Export-Script] lwsystemsbenno-client [2025/03/26 14:34] (текущий) – [Suchanfragen] lwsystems
Строка 1: Строка 1:
 +====== benno-client ======
  
 +Benno-client ist ein Kommandozeilen-Client für das [[rest_api|REST API]] von Benno MailArchiv. Dieses Perl-Script kann als Basis für eigene Implementierungen genutzt werden.
 +
 +Daneben bietet es auch die Möglichkeit, größere Mengen von E-Mails anhand von Suchkritereien zu ermitteln und diese z.B. aus dem System zu exportieren.
 +
 +
 +
 +
 +====== Suchanfragen ======
 +
 +Benno Client ruft stellt Suchanfragen per [[rest_api|REST-API]] an Benno MailArchiv. Die Anfragen können mit Hilfe der [[https://lucene.apache.org/core/3_6_0/queryparsersyntax.html|Lucene Query-Syntax]] formuliert werden.
 +
 +
 +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 //%%--limit 20%%// festgelegt. Falls er nicht angegeben wird, ist die Voreinstellung 20. 
 +
 +<code>
 +# benno-client -q 'From:m.hendriks@hansen-und-meyer.de'
 +2016:446E2DD35A73880A569992D2CAC77EE78ACDA94383EA42247869D81CA5AD850800
 +2016:3B582513165E3BCEEF113F44F200FA9A4534EB3BFAE37264867745CE4EB4424500
 +2016:3B582513165E3BCEEF113F44F200FA9A4534EB3BFAE37264867745CE4EB4424500
 +3 mails found (first: 1, last: 20, limit: 20)
 +</code>
 +
 +Die letzte (Status-)Zeile wird auf STDERR ausgegeben und kann mit ''2>/dev/null'' entfernt werden. Damit kann die Liste als Eingabe zum Herunterladen der E-Mails dienen.
 +
 +
 +===== Export mittels Id =====
 +
 +<code>
 +# benno-client -i 2012:E51F8A601C08E09004C02833347EFC2D7AD92E757FE4CEC5B10AD869E0D5BB2800
 +</code>
 +
 +===== Export-Script =====
 +
 +Im unten aufgeführten Beispiel sollen alle E-Mails des Benutzers "m.hendriks@hansen-und-meyer.de" vom Jahre 2017 exportiert werden.
 +Falls für den Benutzer mehr als 10.000 E-Mails archiviert wurden, sollte das Limit entsprechend höher gesetzt werden.
 +
 +<file bash>
 +#!/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" = "No results found." ] && exit
 +  benno-client --export $EXPORTDIR --id $bennoId 
 +done
 +</file>
 +
 +====== Aufrufparameter ======
 +
 +<code bash>
 +Usage: /usr/sbin/benno-client [-h] [-s <secret>] [-r ] [-c <container>]
 + [-p <port>] <-q <query>|-i <mailid>>
 +
 + -c '<container>' 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 to mails
 + -i|--id '<id>' fetch mail with id
 +    -j dump raw JSON response
 + -p <port> REST port (21080)
 + -q '<query>' lucene query string or file with filter
 + (search header as "HEADER-<HEADER-NAME>")
 + -r <resthost>      (localhost)
 + -s <secret>        shared secret
 +    -v verbose
 +    -h print this help
 + (search header as "HEADER-<HEADER-NAME>")
 + --export <dir> write emlfile to directory
 + --xheader <string> prepend output file with header string
 + --instance-id print Benno MailArchive Instance ID
 + --license print license data
 +</code>