📬 IMAPIMPORT mit Benno MailArchiv
Viele Unternehmen setzen für rechtssichere E-Mail-Archivierung auf Benno MailArchiv.
Ein häufiges Szenario dabei ist, bestehende Postfächer (z. B. aus Kerio Connect) automatisch zu archivieren und anschließend zu bereinigen.Im Kerio Connect muss Archivierung eingeschaltet sein und auf ein Postfach verweisen in meinem fall Archiv .
In diesem Beitrag zeigen wir Schritt für Schritt, wie man:
- ✔️ E-Mails per IMAP importiert
- ✔️ Subfolder automatisch berücksichtigt
- ✔️ Nach erfolgreichem Import Mails vom Server löscht
- ✔️ Cron-Automatisierung einrichtet
- ✔️ Parallelstarts verhindert
- ✔️ Logging & Timeout integriert
🧰 Voraussetzungen
- Installiertes Benno MailArchiv
- Zugriff auf den Benno-Server
- Zugriff auf das IMAP-Postfach (z. B. Kerio Connect oder ein anderes IMAP fähiger Server )
- sudo-Rechte
🎯 Ziel
E-Mails sollen:
- Per IMAP abgeholt werden
- In Benno archiviert werden
- Danach automatisch vom Mailserver gelöscht werden
- Regelmäßig per Cron laufen
📜 Import Script erstellen
Das folgende Script erledigt den kompletten Import-Workflow, ,muss nur angelegt werden .
Script: /usr/local/bin/benno-import.sh
#!/bin/sh
set -u
IMAP_HOST="benno.system"
IMAP_USER="archive"
IMAP_PASS="PASSWORT"
INBOX_DIR="/srv/benno/inbox"
LOGFILE="/var/log/benno-imapimport.log"
LOCKDIR="/run/benno-imapimport.lock"
TIMEOUT_SEC=3600
log() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*"
}
cleanup() {
rmdir "$LOCKDIR" 2>/dev/null || true
}
trap cleanup EXIT INT TERM
if ! mkdir "$LOCKDIR" 2>/dev/null; then
log "[SKIP] Import läuft bereits" >> "$LOGFILE"
exit 0
fi
{
log "===== START Benno Import ====="
mkdir -p "$INBOX_DIR"
chown benno:benno "$INBOX_DIR" 2>/dev/null || true
timeout "$TIMEOUT_SEC" sudo -n -u benno -H /usr/sbin/benno-imapimport \
-i "$INBOX_DIR" \
-H "$IMAP_HOST" \
-s \
-u "$IMAP_USER" \
-p "$IMAP_PASS" \
-f \
-d \
-v
rc=$?
if [ "$rc" -eq 0 ]; then
log "[OK] Import erfolgreich – Mails wurden gelöscht"
else
log "[ERROR] Import Fehler: $rc"
fi
log "===== ENDE ====="
echo
} >> "$LOGFILE" 2>&1
🔍 Erklärung der wichtigsten Optionen
| Option | Bedeutung |
|---|---|
-s |
IMAPS Verbindung (TLS / Port 993) |
-f |
Importiert alle Unterordner |
-d |
Löscht Mails nach erfolgreichem Import vom Server |
-v |
Ausführliches Logging |
🔐 Script ausführbar machen
chmod +x /usr/local/bin/benno-import.sh
🔁 Automatisierung mit Cron
Script alle 5 Minuten ausführen
crontab -e
Dann hinzufügen:
*/5 * * * * /usr/local/bin/benno-import.sh
📄 Logging prüfen
tail -n 100 /var/log/benno-imapimport.log
🛡 Vorteile dieser Lösung
- Keine Doppelstarts durch Lockfile
- Automatische Timeout-Überwachung
- Saubere Archivierung aller IMAP Ordner
- Automatische Serverbereinigung
- Ideal für Migrationen oder Archivpflichten
💡 Praxistipp
Falls Papierkorb oder Spamordner nicht archiviert werden sollen, kann die Option -I genutzt werden.
-I "Deleted Items,Junk E-mail"
🚀 Fazit
Mit diesem Setup lassen sich Postfächer automatisiert archivieren, bereinigen und langfristig revisionssicher speichern.
Gerade bei Migrationen oder Compliance-Anforderungen spart diese Methode viel Zeit und reduziert manuellen Aufwand erheblich.
Links: Wiki Benno MailArchiv
Autor: PlaNet Fox IT Consulting

