User tools

Website tools


benno imap

This is an old version of the document!


Benno IMAP

Benno IMAP (benno-imap) is designed for synchronizing emails from IMAP mailboxes. Emails are imported from the IMAP server into the mail archive at regular intervals.

Zum einmaligen Import bestehender E-Mail Bestände sollte er Import per POP3 (mittels benno-pop3) oder IMAP (mittels benno-imapimport) durchgeführt werden.

Die Anbindung an das E-Mail System sollte generell möglichst direkt über die hiefür vorgesehenen Schnittstellen erfolgen.

IMAP should only be configured if a direct connection is not possible. Due to system limitations, there is a risk that emails will be deleted from the IMAP server before they have been archived.

installation

Die für diese Funktionalität benötigten Software-Komponenten werden mit Hilfe des Pakets benno-imap installiert.

Bei Nutzung einer MySQL Datenbank werden zusätzlich die Pakete python-mysqldb und php-mysql benötigt. Darüber hinaus muss in der MySQL Datenbank noch die Relation imapuser angelegt werden, sowie die Konfiguration in /etc/benno-imap/imapauth.conf bzw. /etc/benno-imap/imapsync.conf angepasst werden.

configuration

Key pair for storing passwords

Die IMAP Passwörter werden reversibel verschlüsselt in der Datenbank gespeichert. Das Schlüsselpaar wird bei der Installation automatisch angelegt und in den Dateien /etc/benno-imap/benno-imap.pub und /etc/benno-imap/benno-imap.sec gespeichert.

Die Schlüssel können auch nachträglich erstellt werden.

Key configuration

Der private Schlüssel wird in der Konfigurationsdatei von benno-imapsync (/etc/benno-imap/imapsync.conf) festgelegt. Eine für den Schlüssel eventuell notwendiges Passwort wird in der Konfigurationsdatei im Parameter keypass aufgeführt. Ein fehlendendes, aber notwendiges Passwort wird beim Start von STDIN gelesen.

Falls der private Schlüssel aus Sicherheitsgründen nicht auf dem System gespeichert werden soll, wird der Parameter keyfile auskommentiert. In diesem Fall liest benno-imapsync beim Start den privaten Schlüssel von STDIN. Ein solches Setup ermöglicht die Übergabe des Schlüssels per PIPE von einem anderen Host

Authentication via the web interface

Die Authentisierung erfolgt gegen den IMAP-Server des Benutzers mit Hilfe des externen Authentisierungs-Moduls benno_imapauth.

The authentication module is activated by adding it to the authentication stack via a Perl symlink.

ln -s /usr/lib/benno-imap/benno_imapauth /etc/benno-web/auth.d/60_benno_imapauth

configuration benno_imapauth

Die Konfiguration für das Authentisierungs-Modul benno_imap ist in der Datei /etc/benno-imap/imapauth.conf gespeichert. Diese Datei ist im INI-Format ausgeführt (https://de.wikipedia.org/wiki/Initialisierungsdatei) und muss für den User des Webservers lesbar sein.

After successful authentication against the IMAP server, the password is encrypted with the public key and stored in the internal database.

Manage users

Create user

Ein neuer Benutzer wird mit dem Program benno-imapuser angelegt, falls das Programm mit -u und den „

Parameters that are not passed will be pre-populated with the default parameters from the configuration file.

benno-imapuser -u benno@lw-systems.net -i imap.lw-systems.net -C BennoContainer \
  -n 'Benno LWsystems' -e benno@lw-systems.net,info@lw-systems.net  

The password is saved in the database after each successful login to the Benno MailArchiv web interface. Alternatively, it can be specified directly when creating the user with the parameter -p

Delete user

Mit benno-imapuser -D -u wird der Benutzer aus der Datenbank gelöscht. Damit wird auch keine Synchronisation des IMAP Kontos mehr vorgenommen. Es sind beide Angaben notwendig, da ein IMAP-User nur so eindeutig identifiziert werden kann.

Die Ausgabe von benno-imapuser -l gibt zeilenweise die Benutzer und IMAP-Host Parameter aus, so ggfs. direkt kopiert und eingefügt werden können.

Change user password

If a user's password is changed on the IMAP server, the user must log in to the web interface once with that new password. The new password will then be saved in the database, and the emails can be imported from the IMAP server.

Alternativ kann das Passwort mit dem Kommando benno-imapuser -u geändert werden.

Importing emails

Der Import von neuen E-Mails erfolgt mit dem Programm benno-imapsync. Die Konfiguration erfolgt in der mit dem Parameter -c übergebenen Datei (/etc/benno-imap/imapsync.conf). Hier können Beispielsweise Ordner wie Drafts von der Synchronisation ausgeschlossen werden.

Die zu importierenden Accounts werden aus der Tabelle „imapuser“ gelesen. Das Passwort wird mit dem privaten Schlüssel (imapsync.conf: keyfile = …) entschlüsselt.

Falls hier die Meldung „RSA key format is not supported“ ausgegeben wird, wurde versehentlich ein RSA-Key statt des 3DES Keys erstellt / konfiguriert.

Cron job

Für die regelmäßige Abholung wird der Cron-Job in der Datei /etc/cron.d/benno-imap durch Entfernen des Kommentarzeichens zu Beginn der Zeile mit dem Kommandoaufruf aktiviert.

# # Start IMAP import every 15 minutes # #*/15 * * * * benno [ -x /usr/sbin/benno-imapsync ] && /usr/sbin/benno-imapsync -c /etc/benno-imap/imapsync.conf -f /var/log/benno/imapsync.log
benno-imap.1616775705.txt.gz · Zuletzt geändert: 2021/03/26 16:21 von lwsystems