Benutzer-Werkzeuge

Webseiten-Werkzeuge


benno-client

Dies ist eine alte Version des Dokuments!


benno-client

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.

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 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.

Ausgabe der Id

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.

Ausgabe der Archiv-Ids

# benno-client  -q 'From:m.hendriks@hansen-und-meyer.de'
2012:7C0D91484BA4DE568EEDF4D8F8936BCA2F159988C8E6C1DB3A2F3E95429D8B3B00
2012:FCAD7408A4C29D4A497E9BB84CCC7ECA82E489E59F4BB0E84157E89E4D75DF6F00
2012:E51F8A601C08E09004C02833347EFC2D7AD92E757FE4CEC5B10AD869E0D5BB2800

Export mittels Id

# benno-client -i 2012:E51F8A601C08E09004C02833347EFC2D7AD92E757FE4CEC5B10AD869E0D5BB2800

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.

#!/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

Aufrufparameter

# 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>' lucene query string or file with filter
                        (search header as "HEADER-<HEADER-NAME>")
    -i '<mailid>'       fetch mail with id
    -f '<lucene query>' lucene filter string or file with filter
    -b '<num>'          begin with email number in response list
    -l '<num>'          limit respones to num
    -c '<container>'    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
benno-client.1539608045.txt.gz · Zuletzt geändert: 2018/10/15 12:54 von lwsystems