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.

The connection to the email system should be made as directly as possible via the interfaces provided for this purpose.

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.

ACHTUNG! Der private Schlüssel sollte möglichst nicht auf Systemen gespeichert werden, die direkt aus dem Internet erreichbar sind. In diesem Fall sollte der Parameter keyfile auskommentiert werden.
In einem solchen Fall erwartete benno-imapsync den privaten Schlüssel als Datenstrom auf STDIN. Ein solches Setup ermöglicht die Übergabe des Schlüssels per PIPE von einem anderen Host aus einer gesicherten Umgebung.

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.1680179875.txt.gz · Zuletzt geändert: 2023/03/30 12:37 von lwsystems